結果
問題 |
No.653 E869120 and Lucky Numbers
|
ユーザー |
![]() |
提出日時 | 2018-02-24 00:46:45 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,704 bytes |
コンパイル時間 | 2,667 ms |
コンパイル使用メモリ | 83,792 KB |
実行使用メモリ | 56,456 KB |
最終ジャッジ日時 | 2024-10-10 11:27:05 |
合計ジャッジ時間 | 8,621 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 WA * 4 |
ソースコード
import java.util.Iterator; import java.util.PrimitiveIterator; import java.util.Scanner; import java.util.function.Supplier; import java.util.stream.IntStream; import java.util.stream.Stream; class Main{ static Scanner s=new Scanner(System.in); private void solve(){ char[]v=s.next().toCharArray(); for(int i:rrep(1,v.length-1)) { switch(v[i]-'0') { case 2: case 3: case 4: --v[i-1]; break; case 6: case 7: continue; default: System.out.println("No"); return; } } int c=v[0]-'0'; System.out.println(c==0||c==6||c==7?"Yes":"No"); } public static void main(String[]$){ new Main().solve(); } int gInt(){ return Integer.parseInt(s.next()); } long gLong(){ return Long.parseLong(s.next()); } double gDouble(){ return Double.parseDouble(s.next()); } SupplyingIterator<Integer> ints(int n){ return new SupplyingIterator<>(n,this::gInt); } SupplyingIterator<Long> longs(int n){ return new SupplyingIterator<>(n,this::gLong); } SupplyingIterator<Double> doubles(int n){ return new SupplyingIterator<>(n,this::gDouble); } SupplyingIterator<String> strs(int n){ return new SupplyingIterator<>(n,s::next); } Range rep(int i){ return Range.rep(i); } Range rep(int f,int t,int d){ return Range.rep(f,t,d); } Range rep(int f,int t){ return rep(f,t,1); } Range rrep(int f,int t){ return rep(t,f,-1); } IntStream REP(int v){ return IntStream.range(0,v); } IntStream REP(int l,int r){ return IntStream.rangeClosed(l,r); } IntStream INTS(int n){ return IntStream.generate(this::gInt).limit(n); } Stream<String> STRS(int n){ return Stream.generate(s::next).limit(n); } } class SupplyingIterator<T> implements Iterable<T>,Iterator<T>{ int t; Supplier<T> supplier; SupplyingIterator(int t,Supplier<T> supplier){ this.t=t; this.supplier=supplier; } @Override public Iterator<T> iterator(){ return this; } @Override public boolean hasNext(){ return t>0; } @Override public T next(){ --t; return supplier.get(); } } class Range implements Iterable<Integer>,PrimitiveIterator.OfInt{ int to,cur,d; Range(int from,int to,int d){ this.cur=from-d; this.to=to; this.d=d; } Range(int n){ this(0,n-1,1); } @Override public Iterator<Integer> iterator(){ return this; } @Override public boolean hasNext(){ return cur+d==to||(cur!=to&&(cur<to==cur+d<to)); } @Override public int nextInt(){ return cur+=d; } static Range rep(int i){ return new Range(i); } static Range rep(int f,int t,int d){ return new Range(f,t,d); } static Range rep(int f,int t){ return rep(f,t,1); } static Range rrep(int f,int t){ return rep(f,t,-1); } }