結果
| 問題 |
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)
titia