結果
問題 | No.355 数当てゲーム(2) |
ユーザー |
![]() |
提出日時 | 2017-08-13 22:24:19 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 28 ms / 2,000 ms |
コード長 | 1,713 bytes |
コンパイル時間 | 1,799 ms |
コンパイル使用メモリ | 169,168 KB |
実行使用メモリ | 25,448 KB |
平均クエリ数 | 20.94 |
最終ジャッジ日時 | 2024-07-17 01:23:35 |
合計ジャッジ時間 | 5,892 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 52 |
コンパイルメッセージ
main.cpp:7:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type] 7 | main(){ | ^~~~
ソースコード
#include<bits/stdc++.h>typedef long long ll;using namespace std;int INF = 1e9;int MOD = 1e9+7;int flag[10];//存在する 1 存在しない -1main(){int pre,a,b;cout << "0 1 2 3" << endl;fflush(0);cin >> a >> b;if(a == 4)return 0;pre = a+b;for(int i = 4;i <= 9;i++){cout <<"0 1 2 " << i << endl;fflush(0);cin >> a >> b;if(a+b == 0){flag[0] = -1;flag[1] = -1;flag[2] = -1;flag[i] = -1;}else if(pre > a+b){flag[i-1] = 1;flag[i] = -1;}else if(pre < a+b){flag[i-1] = -1;flag[i] = 1;}else{flag[i] = flag[i-1];}pre = a+b;if(a == 4)return 0;}while(count(flag,flag+10,1) < 4){int sum = 0;for(int i = 0,cnt = 0;i < 10 && cnt < 3;i++){if(flag[i]){cout << i << " ";sum += (flag[i] == 1);cnt++;}}for(int i = 0;i < 10;i++){if(!flag[i]){cout << i << endl;fflush(0);cin >> a >> b;if(a == 4)return 0;if(sum == a+b) flag[i] = -1;else flag[i] = 1;break;}}}int num[4];for(int i = 0,cnt = 0;i < 10 && cnt < 4;i++){if(flag[i] == 1){num[cnt++] = i;}}for(int i = 0;i < 24;i++){for(int v:num)printf("%d%c",v,v==num[3]?'\n':' ');fflush(0);cin >> a >> b;if(a == 4)return 0;next_permutation(num,num+4);}}