結果
| 問題 |
No.355 数当てゲーム(2)
|
| コンテスト | |
| ユーザー |
kongarishisyamo
|
| 提出日時 | 2016-06-09 10:54:47 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
RE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 960 bytes |
| コンパイル時間 | 440 ms |
| コンパイル使用メモリ | 56,692 KB |
| 実行使用メモリ | 25,464 KB |
| 平均クエリ数 | 27.38 |
| 最終ジャッジ日時 | 2024-07-16 10:25:56 |
| 合計ジャッジ時間 | 5,923 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 51 RE * 1 |
ソースコード
#include<iostream>
#include<cstdlib>
using namespace std;
typedef struct{
int X,Y;
int N[4];
} memo;
int main(){
int N[4];
memo Nmemo[100];
int t=0;
int X,Y;
srand('S'+'H'+'I'+'S'+'Y'+'A'+'M'+'O');
while(1){
for(int i=0;i<4;i++) N[i]=rand()%10;
bool f=true;
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
if(i!=j&&N[i]==N[j]) f=false;
}
}
for(int i=0;i<t;i++){
int tmpX=0,tmpY=0;
for(int j=0;j<4;j++){
for(int k=0;k<4;k++){
if(j==k&&N[j]==Nmemo[i].N[k]) tmpX++;
else if(j!=k&&N[j]==Nmemo[i].N[k]) tmpY++;
}
}
if(Nmemo[i].X>tmpX) f=false;
else if(Nmemo[i].X==tmpX&&Nmemo[i].Y>tmpY) f=false;
}
if(!f) continue;
cout<<N[0]<<" "<<N[1]<<" "<<N[2]<<" "<<N[3]<<endl<<flush;
cin>>X>>Y;
if(X==4) break;
Nmemo[t].X=X;
Nmemo[t].Y=Y;
Nmemo[t].N[0]=N[0];
Nmemo[t].N[1]=N[1];
Nmemo[t].N[2]=N[2];
Nmemo[t].N[3]=N[3];
t++;
}
}
kongarishisyamo