Submission #1095265

#TimeUsernameProblemLanguageResultExecution timeMemory
1095265idiotcomputerEaster Eggs (info1cup17_eastereggs)C++11
0 / 100
1 ms600 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, int ss){ if (sz(ord) >= ss) return; ord.pb(node); for (int c : adj[node]){ if (c != p) dfs(c,node,ss); } } int findEgg(int n, vector<pair<int,int>> bridges){ 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); } int l = -1; int r = n-1; int cur; while (r-l>1){ cur = (l+r)/2; dfs(0,-1,cur+1); if (query(ord)) r = cur; else l = cur; ord.clear(); } dfs(0,-1,r+1); return ord[r]; } /* 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...