Submission #243004

#TimeUsernameProblemLanguageResultExecution timeMemory
243004AndyIzGayEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
27 ms384 KiB
#include<bits/stdc++.h> #include "grader.h" using namespace std; typedef pair<int,int> ii; typedef vector<ii> vii; typedef vector<int> vi; vector<vi> AdjList; vi qr; vector<bool> num,ck; int cur,cnt,n,tmp; void dfs(int v, int p) { if(tmp==cur) return; if(ck[v]) cur++; qr.push_back(v); for(int u: AdjList[v]) { if(u==p) continue; else dfs(u,v); } } int findEgg(int n, vii edges) { AdjList.assign(n+1,vi()); num.assign(n+1,-1); ck.assign(n+1,1); cnt=n; for(ii t: edges) { AdjList[t.first].push_back(t.second); AdjList[t.second].push_back(t.first); } while(cnt!=1) { tmp=(cnt+1)/2; cur=0; qr.clear(); dfs(1,1); if(query(qr)) { for(int i=1 ; i<=n ; i++) num[i]=0; for(int i: qr) num[i]=ck[i]; for(int i=1 ; i<=n ; i++) ck[i]=num[i]; cnt=tmp; } else { for(int i: qr) { ck[i]=0; } cnt-=tmp; } } for(int i=1 ; i<=n ; i++) { if(ck[i]) return i; } }

Compilation message (stderr)

eastereggs.cpp: In function 'int findEgg(int, vii)':
eastereggs.cpp:50:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...