結果

問題 No.355 数当てゲーム(2)
コンテスト
ユーザー kongarishisyamo
提出日時 2016-04-01 23:19:41
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 18 ms / 2,000 ms
コード長 1,039 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 397 ms
コンパイル使用メモリ 75,420 KB
実行使用メモリ 28,964 KB
平均クエリ数 36.31
最終ジャッジ日時 2026-03-31 13:09:21
合計ジャッジ時間 3,518 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge1_0
外部呼び出し有り
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 52
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include<iostream>
#include<cstdlib>
#include<ctime>

using namespace std;

int main(){

	int X,Y;
	int N1,N2,N3,N4;
	int flag[10]={0};

	srand((unsigned)time(NULL));

	while(1){
		while(1){
			N1=rand()%10;
			N2=rand()%10;
			N3=rand()%10;
			N4=rand()%10;
			if(N1!=N2&&N1!=N3&&N1!=N4&&N2!=N3&&N2!=N4&&N3!=N4) break;
		}
		cout<<N1<<" "<<N2<<" "<<N3<<" "<<N4<<endl<<flush;
		cin>>X>>Y;
		if(X==0&&Y==0) break;
	}

	flag[N1]=1;
	flag[N2]=1;
	flag[N3]=1;
	flag[N4]=1;

	while(1){
		while(1){
			N3=rand()%10;
			N4=rand()%10;
			if(N1!=N2&&N1!=N3&&N1!=N4&&N2!=N3&&N2!=N4&&N3!=N4&&flag[N3]==0&&flag[N4]==0) break;
		}
		cout<<N1<<" "<<N2<<" "<<N3<<" "<<N4<<endl<<flush;
		cin>>X>>Y;
		if(X==0&&Y==0) break;
	}
	flag[N3]=1;
	flag[N4]=1;

	for(int i=0;;i++){
		N1=i/1000%10;
		N2=i/100%10;
		N3=i/10%10;
		N4=i/1%10;
		if(N1!=N2&&N1!=N3&&N1!=N4&&N2!=N3&&N2!=N4&&N3!=N4){
			if(flag[N1]==0&&flag[N2]==0&&flag[N3]==0&&flag[N4]==0){
				cout<<N1<<" "<<N2<<" "<<N3<<" "<<N4<<endl<<flush;
				cin>>X>>Y;
				if(X==4&&Y==0) break;
			}
		}
	}

}

0