結果

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

ソースコード

diff #

from collections import defaultdict
from itertools import count

*V, n = map(int, input().split())

now = [0] * 5
now[0] = V[0]

idx = defaultdict(lambda : -1)
route = []

for i in count():
    idx[tuple(now)] = i
    route.append(now[:4])

    l, r = i % 4, (i + 1) % 4
    move = min(now[l], V[r] - now[r])
    now[l] -= move
    now[r] += move
    now[4] = (now[4] + 1) % 4 

    if tuple(now) in idx:
        break

loop = idx[tuple(now)]

if n < loop:
    print(*route[n])
else:
    route = route[loop:]
    n -= loop
    print(*route[n % len(route)])
0