結果
| 問題 | No.355 数当てゲーム(2) | 
| コンテスト | |
| ユーザー |  dnish | 
| 提出日時 | 2018-06-19 16:01:03 | 
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 24 ms / 2,000 ms | 
| コード長 | 1,760 bytes | 
| コンパイル時間 | 1,498 ms | 
| コンパイル使用メモリ | 171,732 KB | 
| 実行使用メモリ | 25,232 KB | 
| 平均クエリ数 | 38.54 | 
| 最終ジャッジ日時 | 2024-07-17 01:46:18 | 
| 合計ジャッジ時間 | 5,222 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 52 | 
ソースコード
#include "bits/stdc++.h"
#define REP(i,n,N) for(int i=(n); i<(N); i++)
#define RREP(i,n,N) for(int i=(N-1); i>=n; i--)
#define CK(n,a,b) ((a)<=(n)&&(n)<(b))
#define ALL(v) (v).begin(),(v).end()
#define p(s) cout<<(s)<<endl
#define p2(a,b) cout<<(a)<<" "<<(b)<<endl
#define v2(T) vector<vector<T>>
typedef long long ll;
using namespace std;
const int inf=1e9+7;
int a,b;
int ans[4]={0,1,2,3};
int main() {
    int prev=-1,now;
    REP(i,0,7){
        cout<<i<<" "<<7<<" "<<8<<" "<<9<<endl;
        cin>>a>>b;
        if(a==4){
            return 0;
        }
        now=a+b;
        if(prev<now){
            ans[0]=i;
        }
        prev=now;
    }
    prev = 0;
    REP(i,0,8){
        if(ans[0]==i) continue;
        cout<<ans[0]<<" "<<i<<" "<<8<<" "<<9<<endl;
        cin>>a>>b;
        if(a==4){
            return 0;
        }
        now=a+b;
        if(prev<now){
            ans[1]=i;
        }
        prev=now;
    }
    prev = 0;
    REP(i,0,9){
        if(ans[0]==i||ans[1]==i) continue;
        cout<<ans[0]<<" "<<ans[1]<<" "<<i<<" "<<9<<endl;
        cin>>a>>b;
        if(a==4){
            return 0;
        }
        now=a+b;
        if(prev<now){
            ans[2]=i;
        }
        prev=now;
    }
    prev = 0;
    REP(i,0,10){
        if(ans[0]==i||ans[1]==i||ans[2]==i) continue;
        cout<<ans[0]<<" "<<ans[1]<<" "<<ans[2]<<" "<<i<<endl;
        cin>>a>>b;
        if(a==4){
            return 0;
        }
        now=a+b;
        if(prev<now){
            ans[3]=i;
        }
        prev=now;
    }
    sort(ans,ans+4);
    do{
        cout<<ans[0]<<" "<<ans[1]<<" "<<ans[2]<<" "<<ans[3]<<endl;
        cin>>a>>b;
        if(a==4){
            return 0;
        }
    }while(next_permutation(ans,ans+4));
    return 0;
}
            
            
            
        