제출 #1075709

#제출 시각아이디문제언어결과실행 시간메모리
1075709AbitoSimurgh (IOI17_simurgh)C++17
13 / 100
3067 ms436 KiB
#include "simurgh.h" #include <bits/stdc++.h> #define pb push_back using namespace std; int par[30],sz[30]; int getpar(int x){ if (x==par[x]) return x; return par[x]=getpar(par[x]); } void link(int x,int y){ x=getpar(x); y=getpar(y); if (x==y) return; if (sz[x]>sz[y]) swap(x,y); sz[y]+=sz[x]; par[x]=y; return; } std::vector<int> find_roads(int n, std::vector<int> u, std::vector<int> v) { int m=u.size(); for (int mask=0;mask<(1<<m);mask++){ if (__builtin_popcount(mask)!=n-1) continue; for (int i=0;i<n;i++) par[i]=i,sz[i]=1; for (int i=0;i<m;i++){ if (mask&(1<<i)) link(u[i],v[i]); } if (sz[getpar(0)]!=n) continue; vector<int> r; for (int i=0;i<m;i++){ if (mask&(1<<i)) r.pb(i); } int x=count_common_roads(r); if (x==n-1) return r; } }

컴파일 시 표준 에러 (stderr) 메시지

simurgh.cpp: In function 'std::vector<int> find_roads(int, std::vector<int>, std::vector<int>)':
simurgh.cpp:35:1: warning: control reaches end of non-void function [-Wreturn-type]
   35 | }
      | ^
#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...