結果

問題 No.1010 折って重ねて
ユーザー ああいい
提出日時 2022-05-29 15:34:56
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 593 bytes
コンパイル時間 384 ms
コンパイル使用メモリ 82,452 KB
実行使用メモリ 59,784 KB
最終ジャッジ日時 2024-09-21 00:04:26
合計ジャッジ時間 3,917 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 40 WA * 3
権限があれば一括ダウンロードができます

ソースコード

diff #

x,y,h = map(int,input().split())
x *= 1000
y *= 1000

C = 50
memo = [[0] * C for _ in range(C)]
stack = [(0,0)]
memo[0][0] = 1
while stack:
    yoko,tate = stack.pop()
    hh = h << (yoko + tate)
    if hh << yoko <= y:
        if memo[yoko + 1][tate] == 0:
            memo[yoko + 1][tate] = 1
            stack.append((yoko + 1,tate))
    if hh << tate <= x and memo[yoko][tate + 1] == 0:
        memo[yoko][tate + 1] = 1
        stack.append((yoko,tate + 1))
ans = 0
for i in range(C):
    for j in range(C):
        if memo[i][j] == 1 and (i + j) > ans:
            ans = i + j
print(ans)
0