結果
| 問題 | No.769 UNOシミュレータ | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2020-04-13 04:00:49 | 
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 82 ms / 2,000 ms | 
| コード長 | 911 bytes | 
| コンパイル時間 | 2,171 ms | 
| コンパイル使用メモリ | 195,676 KB | 
| 最終ジャッジ日時 | 2025-01-09 17:53:27 | 
| ジャッジサーバーID (参考情報) | judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 23 | 
コンパイルメッセージ
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);
      |                  ~~~~~^~~~~~~~~~~~~~
main.cpp:63:15: warning: ‘id_last’ may be used uninitialized [-Wmaybe-uninitialized]
   63 |         printf("%d %d\n",id_last+1,num[id_last]);
      |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.cpp:10:36: note: ‘id_last’ was declared here
   10 |         int id=0,d=1,last=0,draw=0,id_last;
      |                                    ^~~~~~~
            
            ソースコード
#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,id_last;
	vector<int> num(n);
	rep(i,m){
		string s; cin>>s;
		id_last=id;
		if(last!=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;
			}
		}
		id_last=id;
		num[id]++;
		if(s=="number"){
			id=(id+d+n)%n;
			last=0;
		}
		else if(s=="drawtwo"){
			id=(id+d+n)%n;
			last=draw=2;
		}
		else if(s=="drawfour"){
			id=(id+d+n)%n;
			last=draw=4;
		}
		else if(s=="skip"){
			id=(id+2*d+n)%n;
			last=0;
		}
		else{ // reverse
			d*=-1;
			id=(id+d+n)%n;
			last=0;
		}
	}
	printf("%d %d\n",id_last+1,num[id_last]);
	return 0;
}
            
            
            
        