Submission #1146397

#TimeUsernameProblemLanguageResultExecution timeMemory
1146397crispxxEaster Eggs (info1cup17_eastereggs)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "grader.h"

#include "grader.cpp"

using namespace std;

#define all(x) x.begin(), x.end()
#define pb push_back
#define nl '\n'

int findEgg(int n, vector <pair<int, int>> edges) {
	
	vector<set<int>> adj(n);
	
	for(auto &[u, v] : edges) {
		u--, v--;
		adj[u].emplace(v);
		adj[v].emplace(u);
	}
	
	vector<int> isl;
    
    auto dfs = [&](auto &&dfs, int v, int p) -> void {
		isl.pb(v + 1);
		for(auto to : adj[v]) {
			if(to == p) continue;
			dfs(dfs, to, v);
		}
	};
	
	vector<int> used(n);
	
	while(true) {
		bool flag = false;
		for(auto [u, v] : edges) {
			if(used[u] || used[v]) continue;
			
			adj[u].erase(v);
			adj[v].erase(u);
			
			dfs(dfs, u, -1);
			
			auto isl1 = isl;
			
			isl.clear();
			
			dfs(dfs, v, -1);
			
			auto isl2 = isl;
			
			isl.clear();
			
			int x = isl1.size(), y = isl2.size();
			
			if((x == (n + 1) / 2 && y == n / 2) || (x == n / 2 && y == (n + 1) / 2)) {
				if(query(isl1)) {
					if((int)isl1.size() == 1) {
						return isl1[0];
					}
					for(auto i : isl2) {
						used[i - 1] = true;
						n--;
					}
				} else {
					if((int)isl2.size() == 1) {
						return isl2[0];
					}
					for(auto i : isl1) {
						used[i - 1] = true;
						n--;
					}
				}
				flag = true;
				break;
			}
		}
		if(!flag) break;
	}
	
	return -1;
}

/**

5
1 2
1 3
2 4
3 5
5
1 2 3 4 5


**/

Compilation message (stderr)

/usr/bin/ld: /tmp/ccLKcSKq.o: in function `query(std::vector<int, std::allocator<int> >)':
grader.cpp:(.text+0x0): multiple definition of `query(std::vector<int, std::allocator<int> >)'; /tmp/ccEAHuZo.o:eastereggs.cpp:(.text+0x330): first defined here
/usr/bin/ld: /tmp/ccLKcSKq.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccEAHuZo.o:eastereggs.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status