제출 #1189842

#제출 시각아이디문제언어결과실행 시간메모리
1189842Panda50OEaster Eggs (info1cup17_eastereggs)C++20
10 / 100
1 ms1172 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; const int mxN = 525; vector<int> adj[mxN]; vector<int> sub[mxN]; void dfs(int u, int p) { for(auto v : adj[u]) { if(v == p) continue; dfs(v, u); } // sub[u].emplace_back(v); for(auto v : adj[u]) { // sub[u].emplace_back(node); for(auto node : sub[v]) { sub[u].emplace_back(node); } } sub[u].emplace_back(u); return; } int ask(int u, int p) { int cnt = 0; if(sub[u].size() == 1) return u; for(auto v : adj[u]) { if(v == p) continue; if(query(sub[v])) { ++cnt; return ask(v, u); } } // if(cnt == 0) { return u; // } } int findEgg (int N, vector < pair < int, int > > bridges) { // if (query ({1})) return 1; for(int i = 0; i < N; ++i) { auto [a,b] = bridges[i]; adj[a].emplace_back(b); adj[b].emplace_back(a); } // int ans = -1; dfs(1,-1); int ans = ask(1, -1); for(int i = 1; i <= 512; ++i) { adj[i].clear(); sub[i].clear(); } return ans; // for(auto v : adj[u]) { // query(sub[v]); // } // let 1 is the Root // dfs(1,-1); // for(auto v : adj[1]) { // } // return N; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...