Submission #58560

#TimeUsernameProblemLanguageResultExecution timeMemory
58560Mamnoon_SiamICC (CEOI16_icc)C++17
7 / 100
377 ms796 KiB
#include "icc.h" #include <bits/stdc++.h> using namespace std; const int maxn = 105; int n; int ok[maxn][maxn]; int ask(int u, int v) { int a[1] = {u}, b[1] = {v}; return query(1, 1, a, b); } 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); for(int u = 1; u <= n; u++) { for(int v = u + 1; v <= n; v++) { if(!ok[u][v]) { if(ask(u, v)) { setRoad(u, v); ok[u][v] = 1; ok[v][u] = 1; goto hell; } } } } assert(false); hell : ; } }
#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...