結果
問題 | No.355 数当てゲーム(2) |
ユーザー |
|
提出日時 | 2023-03-08 15:13:33 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 24 ms / 2,000 ms |
コード長 | 1,004 bytes |
コンパイル時間 | 1,837 ms |
コンパイル使用メモリ | 184,024 KB |
実行使用メモリ | 25,580 KB |
平均クエリ数 | 43.13 |
最終ジャッジ日時 | 2024-09-18 02:32:39 |
合計ジャッジ時間 | 5,307 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 52 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(0); vector<int> a(4); int S = 15; a = {0, 1, 2, 3}; auto ask = [&](vector<int> a){ int X, Y; for(int i = 0; i < 4; i++){ for(int j = 0; j < i; j++){ if(a[i] == a[j])return make_pair(5, 5); } } cout << a[0] << ' ' << a[1] << ' ' << a[2] << ' ' << a[3] << endl; cin >> X >> Y; if(X == 4 && Y == 0)exit(0); return make_pair(X, Y); }; for(int i = 0; i < 4; i++){ vector<pair<pair<int,int>, vector<int>>> b; for(int j = 0; j < 10; j++){ a[i] = j; b.emplace_back(ask(a), a); } sort(b.begin(), b.end()); a = b[0].second; } for(int i = 0; i < 4; i++){ for(int j = 0; j < 10; j++){ a[i] = j; auto temp = ask(a); if(temp == make_pair(i + 1, 0))break; } } }