Submission #580496

#TimeUsernameProblemLanguageResultExecution timeMemory
580496andrei_boacaICC (CEOI16_icc)C++14
18 / 100
331 ms612 KiB
#include <bits/stdc++.h> #include "icc.h" using namespace std; int n; vector<int> dsu[105]; int comp[105],a[105],b[105],asize,bsize; void dsu_merge(int c1,int c2) { if(dsu[c1].size()<dsu[c2].size()) swap(c1,c2); for(int i:dsu[c2]) { comp[i]=c1; dsu[c1].push_back(i); } dsu[c2].clear(); } void run(int N) { n=N; for(int i=1;i<=n;i++) { dsu[i].push_back(i); comp[i]=i; } for(int z=1;z<n;z++) { int x=0,y=0; for(int i=1;i<=n;i++) { asize=1; a[0]=i; bsize=0; for(int j=1;j<=n;j++) if(comp[j]!=comp[i]) b[bsize++]=j; int ans=query(asize,bsize,a,b); if(ans==1) { if(x==0) x=i; else { y=i; break; } } } setRoad(x,y); dsu_merge(comp[x],comp[y]); } }
#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...