結果

問題 No.1152 10億ゲーム
ユーザー daikisuyama
提出日時 2020-08-07 23:08:24
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,353 bytes
コンパイル時間 273 ms
コンパイル使用メモリ 81,664 KB
実行使用メモリ 94,016 KB
平均クエリ数 0.04
最終ジャッジ日時 2024-07-17 05:11:43
合計ジャッジ時間 4,218 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
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)
f=True
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:# and not f:
            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:# and not:
            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[1]<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 c1[1]>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:
        x_=int(input())
        if x2>x_:
            f=(x2//x_==2)
        else:
            f=(x_//x2==2)
        x2=x_
        if x1==x2:break
0