結果
| 問題 | No.653 E869120 and Lucky Numbers |
| コンテスト | |
| ユーザー |
fal_rnd
|
| 提出日時 | 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);
}
}
fal_rnd