結果
| 問題 |
No.769 UNOシミュレータ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-12-16 22:32:15 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 483 ms / 2,000 ms |
| コード長 | 1,111 bytes |
| コンパイル時間 | 189 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 32,512 KB |
| 最終ジャッジ日時 | 2024-11-22 08:42:00 |
| 合計ジャッジ時間 | 6,016 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
コンパイルメッセージ
Syntax OK
ソースコード
def ascan; gets.split.map(&:to_i); end
N, M = ascan
turn = 0
vec = 1
numcards = [1]*N
lastturn = 0
commands = M.times.map{gets.chomp}
draw = 0
idx = 0
while idx < M
lastturn = turn
c = commands[idx]
if draw > 0
if c == commands[idx-1]
draw += c == 'drawtwo' ? 2 : 4
numcards[turn] += 1
turn += 1*vec
else
numcards[turn] -= draw
turn += 1*vec
draw = 0
idx -= 1
end
else
case c
when 'number'
numcards[turn] += 1
turn += 1*vec
when 'drawtwo'
numcards[turn] += 1
draw = 2
turn += 1*vec
when 'drawfour'
numcards[turn] += 1
draw = 4
turn += 1*vec
when 'skip'
numcards[turn] += 1
turn += 2*vec
when 'reverse'
numcards[turn] += 1
vec *= -1
turn += 1*vec
end
end
turn = (turn + N) % N
idx += 1
end
puts "#{lastturn+1} #{numcards[lastturn]-1}"