Submission #1146539

#TimeUsernameProblemLanguageResultExecution timeMemory
1146539crispxxEaster Eggs (info1cup17_eastereggs)C++20
6 / 100
1 ms428 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) {
	
	for(int i = 1; i <= n; i++) {
		if(query(vector<int>{i})) {
			return i;
		}
	}
	
	// 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);
		// }
	// };
	
	// auto dfs1 = [&](auto &&dfs, int v, int p, vector<vector<int>> &chd) -> void {
		// for(auto to : adj[v]) {
			// if(to == p) continue;
			
			// dfs(dfs, to, v, chd);
			
			// for(auto i : chd[to]) chd[v].pb(i);
		// }
	// };
	
	// vector<int> vis(n);
	
	// while(true) {
		
		// bool flag = false;
		
		// for(auto [u, v] : edges) {
			// if(vis[u] || vis[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();
			
			// int cur = x + y;
			
			// if((x == cur / 2 && y == (cur + 1) / 2) || (x == (cur + 1) / 2 && y == cur / 2)) {
				// cout << "u v " << u + 1 << ' ' << v + 1 << ": ";
				
				// if(query(isl1)) {
					// if(x == 1) {
						// return isl1[0];
					// }
					// for(auto to : isl2) {
						// to--;
						// vis[to] = 1;
						// cout << to + 1 << ' ';
					// }
				// } else {
					// if(y == 1) {
						// return isl2[0];
					// }
					// for(auto to : isl1) {
						// to--;
						// vis[to] = 1;
						// cout << to + 1 << ' ';
					// }
				// }
				// cout << nl;
				// flag = true;
				// break;
			// }
			
			// adj[u].emplace(v);
			// adj[v].emplace(u);
		// }
		
		
		// if(!flag) {
			// for(int r = 0; r < n; r++) {
				
				// if(vis[r]) continue;
				
				// vector <vector<int>> chd(n);
				
				// for(int i = 0; i < n; i++) chd[i].pb(i);
				
				// dfs1(dfs1, r, -1, chd);
				
				// vector<int> tr;
				
				// for(auto to : adj[r]) {
					// tr.pb(to);
				// }
				
				// int m = tr.size();
				
				// for(int mask = 0; mask < (1 << m); mask++) {
					
					// vector<int> isl1, isl2;
					
					// isl1.pb(r + 1);
					// isl2.pb(r + 1);
					
					// for(int i = 0; i < m; i++) {
						// int v = tr[i];
						// if(mask >> i & 1) {
							// for(auto to : chd[v]) isl1.pb(to + 1);
						// } else {
							// for(auto to : chd[v]) isl2.pb(to + 1);
						// }
					// }
					
					// int x = isl1.size(), y = isl2.size();
					// int cur = x + y;
					
					// if((x == cur / 2 && y == (cur + 1) / 2) || (x == (cur + 1) / 2 && y == cur / 2)) {
						
						// for(auto i : isl1) cout << i << ' ';
						// cout << nl;
						
						// for(auto i : isl2) cout << i << ' ';
						// cout << nl;
						
						// cout << "r " << r + 1 << ": ";
						
						// if(query(isl1)) {
							
							// for(auto to : isl2) {
								// to--;
								// cout << to + 1 << ' ';
								// if(to == r) continue;
								// vis[to] = 1;
								// adj[r].erase(to);
								// adj[to].erase(r);
							// }
							
						// } else {
							
							// for(auto to : isl1) {
								// to--;
								// cout << to + 1 << ' ';
								// if(to == r) continue;
								// vis[to] = 1;
								// adj[r].erase(to);
								// adj[to].erase(r);
							// }
							
						// }
						
						// cout << nl;
						
						// flag = true;
						// break;
						
					// }
				// }
				
				// if(flag) break;
				
			// }
		// }
		
		// if(!flag) break;
		
	// }
	// return 1;
}

Compilation message (stderr)

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