結果
| 問題 |
No.769 UNOシミュレータ
|
| コンテスト | |
| ユーザー |
rein4th
|
| 提出日時 | 2018-12-17 10:58:23 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,481 bytes |
| コンパイル時間 | 111 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 58,240 KB |
| 最終ジャッジ日時 | 2024-11-22 08:47:29 |
| 合計ジャッジ時間 | 26,457 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 16 TLE * 7 |
ソースコード
N,M = map(int,input().split())
L = [input() for i in range(M)]
D = {}
D_debt = {}
for i in range(N) :
D[i+1] = 0
D_debt[i+1] = 0
state = ""
debt = 0
reverse = 0
turn = 1
def next() :
global turn
if reverse == 1 :
turn -= 1
else :
turn += 1
if turn == 0 :
turn = N
elif turn == N+1 :
turn = 1
return turn
def judge(L) :
if len(L) == 0 :
print(turn, D[turn]-D_debt[turn])
while True :
if state == "skip" :
state = ""
turn = next()
elif state == "drawtwo" :
if L[0] == "drawtwo" :
card = L.pop(0)
D[turn] += 1
judge(L)
debt += 2
else :
D_debt[turn] += debt
debt = 0
state = ""
turn = next()
elif state == "drawfour" :
if L[0] == "drawfour" :
card = L.pop(0)
D[turn] += 1
judge(L)
debt += 4
else :
D_debt[turn] += debt
debt = 0
state = ""
turn = next()
else :
card = L.pop(0)
D[turn] += 1
judge(L)
if card in ("skip","drawtwo","drawfour") :
state = card
if card == "drawtwo" :
debt = 2
elif card == "drawfour" :
debt = 4
elif card == "reverse" :
reverse = (reverse + 1) % 2
turn = next()
if len(L) == 0 :
break
rein4th