結果
問題 | No.355 数当てゲーム(2) |
ユーザー |
![]() |
提出日時 | 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++; } }