結果
問題 | No.1152 10億ゲーム |
ユーザー | titia |
提出日時 | 2020-08-07 23:11:09 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 115 ms / 2,000 ms |
コード長 | 2,949 bytes |
コンパイル時間 | 375 ms |
コンパイル使用メモリ | 13,056 KB |
実行使用メモリ | 27,880 KB |
平均クエリ数 | 23.10 |
最終ジャッジ日時 | 2024-07-17 05:13:39 |
合計ジャッジ時間 | 8,660 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
import sys input = sys.stdin.readline x1,x2=map(int,input().split()) def two_five(x): A=0 while x%2==0: A+=1 x//=2 B=0 while x%5==0: B+=1 x//=5 return [A,B] x1=two_five(x1) x2=two_five(x2) def calc(x): return pow(2,x[0])*pow(5,x[1]) t=[7,9] while x1!=x2: if (x1[0]+x1[1]-x2[0]-x2[1])%2==1: if x1!=x2: if abs(x1[0]-x2[0])+abs(x1[1]-x2[1])==1: x1=x2 print(calc(x1)) break if x1[1]+1<x2[1]: x1[1]+=1 print(calc(x1),flush=True) if x1==x2: break k=int(input()) x2=two_five(k) elif x1[1]>x2[1]+1: x1[1]-=1 print(calc(x1),flush=True) if x1==x2: break k=int(input()) x2=two_five(k) else: if x1[0]+1<x2[0]: x1[0]+=1 print(calc(x1),flush=True) if x1==x2: break k=int(input()) x2=two_five(k) else: x1[0]-=1 print(calc(x1),flush=True) if x1==x2: break k=int(input()) x2=two_five(k) else: if x1!=t and x1!=x2: if abs(x1[0]-x2[0])+abs(x1[1]-x2[1])==1: x1=x2 print(calc(x1)) break if x1[1]<t[1]: x1[1]+=1 print(calc(x1),flush=True) if x1==x2: break k=int(input()) x2=two_five(k) elif x1[1]>t[1]: x1[1]-=1 print(calc(x1),flush=True) if x1==x2: break k=int(input()) x2=two_five(k) else: if x1[0]<t[0]: x1[0]+=1 print(calc(x1),flush=True) if x1==x2: break k=int(input()) x2=two_five(k) else: x1[0]-=1 print(calc(x1),flush=True) if x1==x2: break k=int(input()) x2=two_five(k) elif x1==t: x1=[9,9] print(calc(x1),flush=True) if x1==x2: sys.exit() k=int(input()) x2=two_five(k)