제출 #429924

#제출 시각아이디문제언어결과실행 시간메모리
429924AmineWeslatiSimurgh (IOI17_simurgh)C++14
13 / 100
697 ms460 KiB
#include "simurgh.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int>vi; #define pb push_back #define sz(x) (int)x.size() #define all(x) begin(x),end(x) #define FOR(i,a,b) for(int i=a; i<b; i++) //-------------------------------- const int MX=100; int N; vi adj[MX]; vi vis(MX); void dfs(int u){ vis[u]=1; for(int v: adj[u]) if(!vis[v]) dfs(v); } bool check(){ FOR(i,0,N) vis[i]=0; dfs(0); FOR(i,0,N) if(!vis[i]) return 0; return 1; } vi find_roads(int N, vi U, vi V) { int M=sz(U); ::N=N; FOR(m,1,1<<M){ FOR(i,0,N) adj[i].clear(); vi vec; FOR(i,0,M) if((m>>i)&1){ int u=U[i],v=V[i]; adj[u].pb(v); adj[v].pb(u); vec.pb(i); } if(sz(vec)==N-1 && check() && count_common_roads(vec)==N-1){ return vec; } } assert(0); } /* 4 6 0 1 0 2 0 3 1 2 1 3 2 3 0 1 5 */
#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...