Submission #521896

#TimeUsernameProblemLanguageResultExecution timeMemory
521896maks007Easter Eggs (info1cup17_eastereggs)C++14
0 / 100
2 ms652 KiB
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;

vector <int> used;
vector <vector <int>> g;
int ans = 0;
int flag = 0;

void dfs(int v, int depth, int p){
	if(flag) return;
	used[v] = 1;
	int f = 0;
	for(int u : g[v]) {
		if(!used[u]) {
			dfs(u, depth^1, v);
			f = 1;
		}
		if(flag) return;
	}
	if(!f or depth == 1) {
		vector <int> q = {v, p};
		if(query(q)) {
			q.pop_back();
			if(query(q)) {
				ans = v;
			}else ans = p;
			flag = 1;
		}
		return;
	}
}

int findEgg (int N, vector < pair < int, int > > bridges)
{
	used.resize(N, 0);
	g.resize(N);
	vector<int> deg(N, 0);
	for(int i = 0; i < bridges.size(); i ++) {
		int a = bridges[i].first;
		int b = bridges[i].second;
		g[a-1].push_back(b-1);
		g[b-1].push_back(a-1);
		deg[a]++;
		deg[b]++;
	}
	flag = 0;
	ans = 0;
	for(int i= 0; i < used.size(); i ++) used[i] = 0;
	dfs(0, 0, -1);
	
	return ans;
}

Compilation message (stderr)

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:40:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |  for(int i = 0; i < bridges.size(); i ++) {
      |                 ~~^~~~~~~~~~~~~~~~
eastereggs.cpp:50:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |  for(int i= 0; i < used.size(); i ++) used[i] = 0;
      |                ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...