結果
問題 |
No.769 UNOシミュレータ
|
ユーザー |
|
提出日時 | 2020-04-13 03:42:44 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 945 bytes |
コンパイル時間 | 2,342 ms |
コンパイル使用メモリ | 194,484 KB |
最終ジャッジ日時 | 2025-01-09 17:52:44 |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 10 OLE * 13 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:8:23: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 8 | int n,m; scanf("%d%d",&n,&m); | ~~~~~^~~~~~~~~~~~~~
ソースコード
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<(n);i++) using namespace std; int main(){ int n,m; scanf("%d%d",&n,&m); int id=0,d=1,last=0,draw=0; vector<int> num(n); rep(i,m){ id%=n; string s; cin>>s; if(draw>0){ if(s=="drawtwo" && last==2){ num[id]++; id=(id+d+n)%n; draw+=2; continue; } else if(s=="drawfour" && last==4){ num[id]++; id=(id+d+n)%n; draw+=4; continue; } else{ num[id]+=draw; id=(id+d+n)%n; draw=0; } } if(s=="number"){ num[id]++; id=(id+d+n)%n; } else if(s=="drawtwo"){ num[id]++; id=(id+d+n)%n; draw=last=2; } else if(s=="drawfour"){ num[id]++; id=(id+d+n)%n; draw=last=4; } else if(s=="skip"){ num[id]++; id=(id+2*d+n)%n; } else{ // reverse num[id]++; d*=-1; id=(id+d+n)%n; } rep(i,n) printf("%d ",num[i]); puts(""); } printf("%d %d\n",id==0?n:id,num[id-1]); return 0; }