Submission #632303

#TimeUsernameProblemLanguageResultExecution timeMemory
632303Cyber_WolfICC (CEOI16_icc)C++14
7 / 100
334 ms488 KiB
//CEOI '16 P1 //Problem: ICC //Link: https://oj.uz/problem/view/CEOI16_icc #include <bits/stdc++.h> #include "icc.h" using namespace std; #define lg long long const lg MOD = 1e9+7, N = 101, M = 1e7+1, SZ = 1e3+1; lg par[N], compSize[N]; vector<lg> child[N]; lg getParent(lg src) { if(src == par[src]) return src; return par[src] = getParent(par[src]); } void join(lg u, lg v) { u = getParent(u), v = getParent(v); if(u == v) return; if(compSize[u] > compSize[v]) swap(u, v); par[u] = v; for(auto it : child[u]) child[v].push_back(it); compSize[v] += compSize[u]; } void run(int n) { for(int i = 1; i <= n; i++) par[i] = i, compSize[i] = 1, child[i].push_back(i); lg x = n-1; while(x--) { vector<lg> parents; for(int i = 1; i <= n; i++) if(par[i] == i) parents.push_back(i); bool cur = true; lg sz = parents.size(); for(int i = 0; i < sz && cur; i++) { for(int j = i+1; j < sz && cur; j++) { lg u = parents[i], v = parents[j]; if(getParent(u) == getParent(v)) continue; lg sz1 = child[u].size(), sz2 = child[v].size(); int a[sz1], b[sz2]; for(int k = 0; k < sz1; k++) a[k] = child[u][k]; for(int k = 0; k < sz2; k++) b[k] = child[v][k]; bool flag = query(sz1, sz2, a, b); if(flag) { if(sz1 == 1 && sz2 == 1) { join(a[0], b[0]); setRoad(a[0], b[0]); cur = false; break; } for(int k = 0; k < sz1; k++) { int z[] = {a[k]}; bool cur = query(1, sz2, z, b); if(cur) { for(int g = 0; g < sz2; g++) { int y[] = {b[g]}; bool cur2 = query(1, 1, z, y); if(cur2) { join(z[0], y[0]); setRoad(z[0], y[0]); } else{ continue; } } } } cur = false; break; } } } } }
#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...