Submission #1176543

#TimeUsernameProblemLanguageResultExecution timeMemory
1176543IrateICC (CEOI16_icc)C++20
0 / 100
108 ms624 KiB
#include "icc.h" #include<bits/stdc++.h> using namespace std; const int mxN = 105; vector<int> G[mxN]; int query(int sza, int szb, int a[], int b[]); // { // for(int i = 0;i < sza;++i){ // cout << a[i] << ' '; // } // cout << ": "; // for(int i = 0;i < szb;++i){ // cout << b[i] << ' '; // } // int ans; // cin >> ans; // return ans; // } int Query(int sza, int szb, vector<int>a, vector<int>b){ int A[sza], B[szb]; for(int i = 0;i < sza;++i){ A[i] = a[i]; } for(int i = 0;i < szb;++i){ B[i] = b[i]; } return query(sza, szb, A, B); } // { // for(int i : a){ // cout << i << " "; // } // cout << ": "; // for(int i : b){ // cout << i << " "; // } // cout << endl; // int ans; // cin >> ans; // return ans; // } // void setRoad(int a, int b) // { // cout << "Found: " << a << " " << b << '\n'; // } void run(int n){ srand(time(0)); for(int k = 0;k < n - 1;++k){ vector<int>V; for(int i = 1;i <= n;++i){ V.push_back(i); } int node = -1, node2 = -1; vector<int>a, b; do{ a.clear(); b.clear(); int indx = rand() % (int)V.size(); node = V[indx]; a.push_back(node); V.erase(V.begin() + indx); for(int i = 0;i < (int)V.size();++i){ if(find(G[node].begin(), G[node].end(), V[i]) == G[node].end()){ b.push_back(V[i]); } } }while(!Query(a.size(), b.size(), a, b)); int l = 0, r = b.size() - 1, ans = -1; while(l <= r){ int mid = (l + r) / 2; vector<int>temp; for(int i = 0;i <= mid;++i){ temp.push_back(b[i]); } if(Query(a.size(), temp.size(), a, temp)){ ans = mid; r = mid - 1; } else{ l = mid + 1; } } node2 = b[ans]; setRoad(node, node2); G[node].push_back(node2); G[node2].push_back(node); } } // int main(){ // // ios_base::sync_with_stdio(0); // // cin.tie(0); // int n; // cin >> n; // run(n); // }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...