結果
問題 | No.355 数当てゲーム(2) |
ユーザー |
![]() |
提出日時 | 2018-07-23 01:23:32 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 28 ms / 2,000 ms |
コード長 | 2,383 bytes |
コンパイル時間 | 926 ms |
コンパイル使用メモリ | 95,652 KB |
実行使用メモリ | 25,452 KB |
平均クエリ数 | 5.52 |
最終ジャッジ日時 | 2024-07-17 01:50:39 |
合計ジャッジ時間 | 5,001 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 52 |
ソースコード
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<stack>#include<queue>#include<vector>#include<algorithm>#include<string>#include<iostream>#include<set>#include<map>#include<bitset>using namespace std;typedef long long ll;#define i_7 1000000007#define i_5 1000000005ll mod(ll a){ll c=a%i_7;if(c>=0)return c;else return c+i_7;}typedef pair<int,int> i_i;typedef pair<ll,ll> l_l;ll inf=1000000000000;/*10^12*/#define rep(i,l,r) for(ll i=l;i<=r;i++)ll max(ll a,ll b){if(a<b)return b;else return a;}ll min(ll a,ll b){if(a>b)return b;else return a;}//////////////////////////////////////#define koko 0void print(int a,int b,int c,int d){cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;fflush(stdout);}int main(){int q[100][6];rep(i,0,koko-1){int a[4];bool flag=true;while(flag){rep(j,0,3){a[j]=(int)rand()%10;}set<int>s;rep(j,0,3)s.insert(a[j]);if(s.size()==4){flag=false;}}rep(j,0,3)q[i][j]=a[j];print(a[0],a[1],a[2],a[3]);cin>>q[i][4]>>q[i][5];if(q[i][4]==4&&q[i][5]==0){return 0;}}int pos=koko;rep(i,0,9999){int b[4];int c=i;rep(j,0,3){b[3-j]=c%10;c/=10;}set<int>s;rep(j,0,3)s.insert(b[j]);if(s.size()==4){bool flag=true;rep(j,0,pos-1){int coua=0;rep(k,0,3){if(b[k]==q[j][k])coua++;}if(coua!=q[j][4]){flag=false;break;}int coub=-coua;rep(k,0,3){rep(l,0,3){if(b[k]==q[j][l])coub++;}}if(coub!=q[j][5]){flag=false;break;}}if(flag){rep(j,0,3)q[pos][j]=b[j];print(b[0],b[1],b[2],b[3]);cin>>q[pos][4]>>q[pos][5];if(q[pos][4]==4&&q[pos][5]==0){return 0;}pos++;}}}return 0;}