Submission #1161613

#TimeUsernameProblemLanguageResultExecution timeMemory
1161613mertbbmEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
9 ms512 KiB
#include "grader.h"
#include <bits/stdc++.h>
using namespace std;
 
//#define int long long 
#define ld long double
#define show(x,y) cout << y << " " << #x << endl;
#define show2(x,y,i,j) cout << y << " " << #x << "  " << j << " " << #i << endl;
#define show3(x,y,i,j,p,q) cout << y << " " << #x << "  " << j << " " << #i << "  " << q << " " << #p << endl;
#define show4(x,y) for(auto it:y) cout << it << " "; cout << #x << endl;
typedef pair<int,int>pii;
typedef pair<pii,int>pi2;
mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count());

bool take[1005];
bool visited[1005];
int cnt=0;
int need=0;
vector<int>vv;
vector<int>adj[1005];

void dfs(int index){
	if(cnt==need) return;
	visited[index]=true;
	vv.push_back(index);
	if(!take[index]) cnt++;
	if(cnt==need) return;
	for(auto it:adj[index]){
		if(visited[it]) continue;
		dfs(it);
	}
}

int findEgg(int n, vector<pair<int,int>>bridges){
    memset(take,0,sizeof(take));
    
    for(int x=1;x<=n;x++) adj[x].clear();
    
    for(auto it:bridges){
		adj[it.first].push_back(it.second);
		adj[it.second].push_back(it.first);
	}
    
    int cur=n;
    while(cur>1){
		need=cur/2;
		memset(visited,0,sizeof(visited));
		cnt=0;
		vv.clear();
		dfs(1);
		bool hold=query(vv);
		if(hold){
			for(int y=1;y<=n;y++){
				if(!visited[y]) take[y]=true;
			}
			cur=need;
		}
		else{
			for(int y=1;y<=n;y++){
				if(visited[y]) take[y]=true;
			}
			cur=cur-need;
		}
	}
	
	for(int x=1;x<=n;x++){
		if(!take[x]) return x;
	}	
}

Compilation message (stderr)

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:69:1: warning: control reaches end of non-void function [-Wreturn-type]
   69 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...