結果
問題 | No.1935 Water Simulation |
ユーザー |
![]() |
提出日時 | 2022-05-14 05:04:53 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 93 ms / 2,000 ms |
コード長 | 557 bytes |
コンパイル時間 | 218 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-07-22 11:16:19 |
合計ジャッジ時間 | 3,831 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
コンパイルメッセージ
Syntax OK
ソースコード
V1, V2, V3, V4, N = gets.split.map(&:to_i) cap = [V1, V2, V3, V4] V = [V1, 0, 0, 0, 0] E = Hash.new head = [] (N + 1).times do |i| head << V.dup break if E[V] idx = i % 4 n_idx = (idx + 1) % 4 u = V.dup r = [V[idx], cap[n_idx] - V[n_idx]].min V[idx] -= r V[n_idx] += r V[-1] = (V[-1] + 1) % 4 E[u] = V.dup end if N < head.size puts head[N][..-2].join(' ') else n = N n -= (head.size - 1) last = head.pop r_idx = head.rindex(last) lp = head[r_idx..-1] ls = lp.size idx = n % ls puts lp[idx][..-2].join(' ') end