제출 #1319747

#제출 시각아이디문제언어결과실행 시간메모리
1319747g31niusEaster Eggs (info1cup17_eastereggs)C++20
10 / 100
2 ms488 KiB
#include <vector> using namespace std; int query(vector<int> islands); vector<vector<int>> adj; vector<int> subtree; void dfs(int node, int parent) { subtree.push_back(node); for (int next : adj[node]) { if (next != parent) { dfs(next, node); } } } int findEgg(int N, vector<pair<int, int>> bridges) { adj.clear(); subtree.clear(); adj.assign(N + 1, vector<int>()); for (auto& edge : bridges) { adj[edge.first].push_back(edge.second); adj[edge.second].push_back(edge.first); } int current = 1; int parent = -1; while (true) { bool foundInChild = false; for (int neighbor : adj[current]) { if (neighbor == parent) continue; subtree.clear(); dfs(neighbor, current); if (query(subtree) == 1) { parent = current; current = neighbor; foundInChild = true; break; } } if (!foundInChild) { return current; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...