結果
| 問題 |
No.769 UNOシミュレータ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-04-27 19:18:01 |
| 言語 | Kuin (KuinC++ v.2021.9.17) |
| 結果 |
AC
|
| 実行時間 | 95 ms / 2,000 ms |
| コード長 | 1,003 bytes |
| コンパイル時間 | 2,074 ms |
| コンパイル使用メモリ | 146,696 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-09-16 11:01:05 |
| 合計ジャッジ時間 | 3,686 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
ソースコード
func main()
var n: int :: cui@inputInt()
var m: int :: cui@inputInt()
var nums: []int :: #[n]int
var reverseFlag: bool :: false
var drawFlag: bool :: false
var skipFlag: bool :: false
var id: int :: 0
var prev: []char
var add: int :: 0
for i(1, m)
var s: []char :: cui@inputStr()
if a(drawFlag)
if(s[0] = 'd' & s = prev)
break a
end if
do drawFlag :: false
do nums[id] :- add
do add :: 0
do next(&id, reverseFlag, n)
end if
switch(s)
case "number"
case "drawtwo", "drawfour"
do add :+ s = "drawtwo" ?(2, 4)
do drawFlag :: true
case "skip"
do skipFlag :: true
case "reverse"
do reverseFlag :: !reverseFlag
end switch
do nums[id] :+ 1
do prev :: s
if(i <> m)
for(1, skipFlag ?(2, 1))
do next(&id, reverseFlag, n)
end for
do skipFlag :: false
end if
end for
do cui@print("\{id + 1} \{nums[id]}\n")
func next(id: &int, reverseFlag: bool, n: int)
do id :+ reverseFlag ?(n - 1, 1)
do id :% n
end func
end func