結果
| 問題 |
No.769 UNOシミュレータ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-02-02 22:19:03 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 974 bytes |
| コンパイル時間 | 78 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 54,912 KB |
| 最終ジャッジ日時 | 2024-11-22 09:08:07 |
| 合計ジャッジ時間 | 6,463 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 16 WA * 7 |
コンパイルメッセージ
Syntax OK
ソースコード
N, M = gets.split.map(&:to_i)
l = readlines.map(&:chomp)
card_nums, draw_card_nums = Hash.new(0), Hash.new(0)
stack_card_num, skip, prev_op, increment = 0, false, nil, 1
current_user_index = 0
loop do
if skip
current_user_index = (current_user_index + increment) % N
skip = false
next
end
op = l.shift
if op != 'drawtwo' && prev_op == 'drawtwo' ||
op != 'drawfour' && prev_op == 'drawfour'
draw_card_nums[current_user_index] += stack_card_num
current_user_index = (current_user_index + increment) % N
end
case op
when 'drawtwo', 'drawfour'
stack_card_num += (op == 'drawtwo' ? 2 : 4)
when 'reverse'
increment = -increment
when 'skip'
skip = true
end
card_nums[current_user_index] += 1
break if l.empty?
prev_op = op
current_user_index = (current_user_index + increment) % N
end
card_num = card_nums[current_user_index] - draw_card_nums[current_user_index]
puts "#{current_user_index + 1} #{card_num}"