Submission #1095275

#TimeUsernameProblemLanguageResultExecution timeMemory
1095275idiotcomputerEaster Eggs (info1cup17_eastereggs)C++11
0 / 100
1 ms852 KiB
#include "grader.h" #include <bits/stdc++.h> using namespace std; #define f first #define s second #define pb push_back #define sz(x) (int) (x).size() const int mxN = 520; vector<int> adj[mxN]; vector<int> ord; /*int res = 0; int k; bool query(vector<int> cur){ res++; for (int c : cur) if (c == k) return 1; return 0; }*/ void dfs(int node, int p){ ord.pb(node); for (int c : adj[node]){ if (c != p) dfs(c,node); } } int findEgg(int N, vector<pair<int,int>> bridges){ for (int i = 0; i < N; i++) adj[i].clear(); ord.clear(); for (pair<int,int> c : bridges){ adj[c.f-1].pb(c.s-1); adj[c.s-1].pb(c.f-1); }/* for (int i = 0; i < N-1; i++){ adj[bridges[i].f-1].pb(bridges[i].s-1); adj[bridges[i].s-1].pb(bridges[i].f-1); }*/ dfs(0,-1); int l = -1; int r = N-1; int cur; while (r-l>1){ cur = (l+r)/2; if (query(vector<int>(ord.begin(),ord.begin()+cur+1))) r = cur; else l = cur; } //return 0; return ord[r]+1; } /* int main() { //ios_base::sync_with_stdio(false); //cin.tie(NULL); int n; cin >> n >> k; k--; vector<pair<int,int>> b(n-1); for (int i = 0; i < n-1; i++) cin >> b[i].f >> b[i].s; cout << findEgg(n,b)+1 << " " << res << '\n'; return 0; } */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...