Submission #538691

#TimeUsernameProblemLanguageResultExecution timeMemory
538691M_WEaster Eggs (info1cup17_eastereggs)C++14
0 / 100
2 ms488 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector<int> adj[600];
int idx[600], cnt = 0;

void dfs(int a, int p){
	idx[++cnt] = a;
	for(auto x : adj[a]){
		if(x == p) continue;
		dfs(x, a);
	}
	return;
}

int findEgg (int N, vector < pair < int, int > > bridges)
{
	for(auto x : bridges){
    	adj[x.first].push_back(x.second);
    	adj[x.second].push_back(x.first);
	}
    dfs(1, 0);

    int l = 1, r = N;
    while(l < r){
    	int mid = (l + r) >> 1;
    	vector<int> tmp;
    	for(int i = 1; i <= mid; i++) tmp.push_back(idx[i]);
		int q = query(tmp);
		
		if(q) r = mid;
		else l = mid + 1;
	}
    
    return l;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...