#include <bits/stdc++.h>
#include "grader.h"
#define vi vector<int>
#define vii vector<vi>
#define pb push_back
#define ff first
#define ss second
#define pii pair<int, int>
#define vpii vector<pii>
#define forn(i, n) for(int i = 0; i<n; ++i)
#define For(i, a, n) for(int i = a; i<n; ++i)
using namespace std;
int findEgg(int N, vpii bridges){
vector<vi> adj(N+1);
for(auto x: bridges){
adj[x.ff].pb(x.ss);
adj[x.ss].pb(x.ff);
}
int sz = N/2;
vi vst(N+1, 1);
while(sz){
For(i, 1, N+1){
if(vst[i]){
vi vst2(N+1, 0);
int zs = sz;
vi laputa;
queue<int> q;
zs--;
vst2[i] = 1;
q.push(i);
while(!q.empty()){
int u = q.front(); q.pop();
laputa.pb(u);
for(int x: adj[u]){
if(vst[x] && zs && !vst2[x]){
--zs;
vst2[x] = 1;
q.push(x);
}
}
}
int val = query(laputa);
//dbg(val);
if(!val) for(int& x: laputa) vst[x] = 0;
else { fill(vst.begin(), vst.end(), 0); for(int x: laputa) vst[x] = 1;}
break;
}
}
sz/=2;
}
For(i, 1, N+1) if(vst[i]) return i;
}
Compilation message (stderr)
eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:53:1: warning: control reaches end of non-void function [-Wreturn-type]
53 | }
| ^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |