結果

問題 No.769 UNOシミュレータ
ユーザー mai
提出日時 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

ソースコード

diff #
プレゼンテーションモードにする

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}"
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0