結果

問題 No.1935 Water Simulation
ユーザー pitPpitP
提出日時 2022-05-13 22:42:52
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 31 ms / 2,000 ms
コード長 772 bytes
コンパイル時間 652 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 10,752 KB
最終ジャッジ日時 2024-07-22 04:36:21
合計ジャッジ時間 2,523 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

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