結果

問題 No.1935 Water Simulation
コンテスト
ユーザー pitP
提出日時 2022-05-13 22:42:52
言語 Python3
(3.14.3 + numpy 2.4.4 + scipy 1.17.1)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
AC  
実行時間 161 ms / 2,000 ms
コード長 772 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 390 ms
コンパイル使用メモリ 20,828 KB
実行使用メモリ 15,360 KB
最終ジャッジ日時 2026-04-03 07:26:26
合計ジャッジ時間 5,385 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

lst = list(map(int,input().split()))
v_max = lst[:-1]
now = [0]*4
now[0] = v_max[0]
n = lst[-1]

def solve(tmp):
    res = [[0]*4 for _ in range(5)]
    res[0] = tmp
    for i in range(4):
        res[i+1] = res[i][:]
        a = res[i][i]
        b = res[i][(i+1)%4]
        if a + b <= v_max[(i+1)%4]:
            res[i+1][(i+1)%4] = a + b
            res[i+1][i] = 0
        else:
            res[i+1][(i+1)%4] = v_max[(i+1)%4]
            res[i+1][i] = a + b - v_max[(i+1)%4]
    return res[1:]

def answer(n,now):
    n %= 4
    print(*now[n-1])
    exit()

while n:
    new_mat = solve(now)
    new = new_mat[-1]
    if 1 <= n <= 4:
        print(*new_mat[n-1])
        exit()
    elif now == new:
        answer(n,new_mat)
    else:
        n -= 4
        now = new
0