結果
問題 | No.2085 Directed Complete Graph |
ユーザー |
|
提出日時 | 2024-10-31 02:59:16 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,325 bytes |
コンパイル時間 | 5,438 ms |
コンパイル使用メモリ | 313,256 KB |
実行使用メモリ | 25,452 KB |
平均クエリ数 | 1632.18 |
最終ジャッジ日時 | 2024-10-31 02:59:25 |
合計ジャッジ時間 | 8,692 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 12 WA * 3 |
ソースコード
#include <bits/stdc++.h>#include <atcoder/all>using mint = atcoder::static_modint<998244353>;//using mint = atcoder::static_modint<1000000007>;using namespace std;using namespace atcoder;using ld = long double;using ll = long long;#define mp(a,b) make_pair(a,b)#define rep(i,s,n) for(int i=s; i<n; i++)const vector<int> dx{1,0,-1,0},dy{0,1,0,-1};std::random_device seed_gen;std::mt19937 engine(seed_gen());int main(){int n;cin >> n;cout << "? " << 1 << " " << 2 << "\n";int t;cin >> t;vector<int> a;if(t==1)a={1,2};else a={2,1};vector<int> p;rep(i,3,n+1)p.push_back(i);shuffle(p.begin(),p.end(),engine);for(auto i:p){cout << "? " << i << " " << a[0] << "\n";cin >> t;if(t==1){a.insert(a.begin(),i);continue;}cout << "? " << a.back() << " " << i << "\n";cin >> t;if(t==1){a.push_back(i);continue;}int l=0,r=a.size()-1;while(r-l>1){int mid=(r+l)/2;cout << "? " << i << " " << a[mid] << "\n";cin >> t;if(t==1)r=mid;else l=mid;}a.insert(a.begin()+r,i);}cout << "!\n";cout << n-1 << "\n";for(auto x:a)cout << x << " ";}