結果
問題 | No.1935 Water Simulation |
ユーザー |
|
提出日時 | 2022-05-15 09:03:12 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 43 ms / 2,000 ms |
コード長 | 751 bytes |
コンパイル時間 | 366 ms |
コンパイル使用メモリ | 82,444 KB |
実行使用メモリ | 58,128 KB |
最終ジャッジ日時 | 2024-07-23 21:04:56 |
合計ジャッジ時間 | 2,827 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
l = list(map(int,input().split())) N = l.pop() now = [l[0],0,0,0] d = dict() def calc(now,count): return (now[0],now[1],now[2],now[3],count % 4) count = 0 while calc(now,count) not in d: d[calc(now,count)] = count u = count % 4 v = (count + 1) % 4 if now[u] + now[v] <= l[v]: now[v] += now[u] now[u] = 0 else: now[u] -= l[v] - now[v] now[v] = l[v] count += 1 c = d[calc(now,count)] loop = count - c if N >= c: q = (N - c) % loop + c else: q = N now = [l[0],0,0,0] for count in range(q): u = count % 4 v = (count + 1) % 4 if now[u] + now[v] <= l[v]: now[v] += now[u] now[u] = 0 else: now[u] -= l[v] - now[v] now[v] = l[v] print(*now)