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...