結果

問題 No.1152 10億ゲーム
ユーザー daikisuyama
提出日時 2020-08-07 23:00:12
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,226 bytes
コンパイル時間 260 ms
コンパイル使用メモリ 82,592 KB
実行使用メモリ 97,100 KB
平均クエリ数 0.04
最終ジャッジ日時 2024-07-17 05:08:49
合計ジャッジ時間 4,118 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 2 TLE * 1 -- * 47
権限があれば一括ダウンロードができます

ソースコード

diff #

x1,x2=map(int,input().split())
def calc(x):
    c=[0,0]
    while x%2==0:
        c[0]+=1
        x//=2
    while x%5==0:
        c[1]+=1
        x//=5
    return c
c1=calc(x1)
c2=calc(x2)
def dis(x,y):
    return abs(x[0]-y[0])+abs(x[1]-y[1])
for i in range(70):
    if i%2==0:
        if c1[0]<9:
            if dis([c1[0]+1,c1[1]],c2)<dis(c1,c2):
                c1=[c1[0]+1,c1[1]]
                x1*=2
                print(x1,flush=True)
                if x1==x2:break
                continue
        if c1[0]>0:
            if dis([c1[0]-1,c1[1]],c2)<dis(c1,c2):
                c1=[c1[0]-1,c1[1]]
                x1//=2
                print(x1,flush=True)
                if x1==x2:break
                continue
        if c2[0]<9:
            if dis([c1[0],c1[1]+1],c2)<dis(c1,c2):
                c1=[c1[0],c1[1]+1]
                x1*=5
                print(x1,flush=True)
                if x1==x2:break
                continue
        if c2[0]>0:
            if dis([c1[0],c1[1]-1],c2)<dis(c1,c2):
                c1=[c1[0],c1[1]-1]
                x1//=5
                print(x1,flush=True)
                if x1==x2:break
                continue
    else:
        x2=int(input())
        if x1==x2:break
0