結果
| 問題 | No.769 UNOシミュレータ |
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 2026-01-29 00:55:39 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 145 ms / 2,000 ms |
| コード長 | 1,168 bytes |
| 記録 | |
| コンパイル時間 | 184 ms |
| コンパイル使用メモリ | 82,784 KB |
| 実行使用メモリ | 88,652 KB |
| 最終ジャッジ日時 | 2026-01-29 00:55:42 |
| 合計ジャッジ時間 | 3,318 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
ソースコード
import sys
input = sys.stdin.readline
N,M=map(int,input().split())
S=[input().strip() for i in range(M)]
A=[0]*N
ind=0
mai=0
nec=1
for i in range(M):
if S[i]=="skip":
A[ind]-=1
ind=ind+nec+nec
ind%=N
elif S[i]=="reverse":
A[ind]-=1
nec*=-1
ind=ind+nec
ind%=N
elif S[i]=="number":
A[ind]-=1
ind=ind+nec
ind%=N
elif S[i]=="drawtwo":
if i+1<M and S[i+1]==S[i]:
A[ind]-=1
ind=ind+nec
ind%=N
mai+=2
else:
A[ind]-=1
ind=ind+nec
ind%=N
A[ind]+=mai+2
ind=ind+nec
ind%=N
mai=0
elif S[i]=="drawfour":
if i+1<M and S[i+1]==S[i]:
A[ind]-=1
ind=ind+nec
ind%=N
mai+=4
else:
A[ind]-=1
ind=ind+nec
ind%=N
A[ind]+=mai+4
ind=ind+nec
ind%=N
mai=0
#print(ind,nec,A)
ANS=ind-nec
if S[-1]=="drawtwo" or S[-1]=="drawfour" or S[-1]=="skip":
ANS-=nec
ANS%=N
print(ANS+1,-A[ANS])
titia