Submission #58294

#TimeUsernameProblemLanguageResultExecution timeMemory
58294Mamnoon_SiamICC (CEOI16_icc)C++17
0 / 100
334 ms860 KiB
#include "icc.h" #include <bits/stdc++.h> using namespace std; const int maxn = 105; int n; int ok[maxn][maxn]; int chex(int u) { int a[1] = {u}, b[maxn]; int sz_a = 1, sz_b = 0; for(int i = 1; i <= n; i++) { if(i == u) continue; if(!ok[u][i]) { b[sz_b++] = i; } } if(!sz_b) return 0; return query(sz_a, sz_b, a, b); } int find_another(int u) { int a[1] = {u}, b[1]; for(int i = 1; i <= n; i++) { if(i == u) continue; if(!ok[u][i]) { b[0] = i; if(query(1, 1, a, b)) { return i; } } } assert(false); } void run(int N) { n = N; while(true) { int u = -1; for(int i = 1; i <= n; i++) { if(chex(i)) { u = i; break; } } int v = find_another(u); if(u > v) swap(u, v); assert(u != v and u > 0 and u <= N and v > 0 and v <= N); setRoad(u, v); ok[u][v] = 1; ok[v][u] = 1; } }
#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...