結果
問題 |
No.355 数当てゲーム(2)
|
ユーザー |
|
提出日時 | 2016-05-17 15:20:16 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 983 bytes |
コンパイル時間 | 427 ms |
コンパイル使用メモリ | 59,848 KB |
実行使用メモリ | 25,592 KB |
平均クエリ数 | 20.67 |
最終ジャッジ日時 | 2024-07-16 10:09:28 |
合計ジャッジ時間 | 4,467 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 49 WA * 3 |
ソースコード
#include <iostream> #include <list> using namespace std; void io(int n[4], int& x, int& y) { cout << n[0] << " " << n[1] << " " << n[2] << " " << n[3] << endl; cin >> x >> y; } int main() { int n[] = { 0, 1, 2, 3 }; int x, y; int xy; io(n, x, y); xy = x + y; list<int> l { 4, 5, 6, 7, 8, 9 }; for ( int i = 0; i < 4; i++ ) { int t = n[i]; for ( auto l_it = l.begin(); xy < 4 && l_it != l.end(); ++l_it) { n[i] = *l_it; io(n, x, y); if ( x + y > xy ) { l.erase(l_it); xy = x + y; break; } else if ( x + y < xy ) { n[i] = t; break; } } } for ( int i = 0; i < 4; i++ ) { for ( int j = 0; j < 4; j++ ) { if ( i == j ) continue; for ( int k = 0; k < 4; k++ ) { if ( i == k || j == k ) continue; for ( int l = 0; l < 4; l++ ) { if ( i == l || j == l || k == l ) continue; int r[] = { n[i], n[j], n[k], n[l] }; io(r, x, y); if ( x == 4 ) { return 0; } } } } } return 0; }