# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
963103 | 2024-04-14T14:09:43 Z | biank | Easter Eggs (info1cup17_eastereggs) | C++14 | 14 ms | 988 KB |
#include <bits/stdc++.h> #include "grader.h" using namespace std; const int MAX_N = 512; vector<int> adj[MAX_N], islands; void dfs(int u, int p = -1) { islands.push_back(u + 1); for (int v : adj[u]) { if (v != p) dfs(v, u); } } int findEgg (int N, vector<pair<int, int>> bridges) { islands.clear(); for (int i = 0; i < N; i++) adj[i].clear(); for (int i = 0; i < N - 1; i++) { auto [u, v] = bridges[i]; --u, --v; adj[u].push_back(v); adj[v].push_back(u); } dfs(0); int l = 0, r = N; while (l + 1 < r) { int m = (l + r) / 2; if (query(vector<int>(begin(islands), begin(islands) + m))) { r = m; } else { l = m; } } return islands[l]; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Number of queries: 4 |
2 | Correct | 1 ms | 344 KB | Number of queries: 4 |
3 | Correct | 1 ms | 344 KB | Number of queries: 4 |
4 | Correct | 1 ms | 344 KB | Number of queries: 4 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 988 KB | Number of queries: 8 |
2 | Correct | 9 ms | 748 KB | Number of queries: 9 |
3 | Correct | 12 ms | 740 KB | Number of queries: 9 |
4 | Correct | 11 ms | 744 KB | Number of queries: 9 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 14 ms | 764 KB | Number of queries: 9 |
2 | Correct | 11 ms | 744 KB | Number of queries: 9 |
3 | Correct | 10 ms | 744 KB | Number of queries: 9 |
4 | Correct | 10 ms | 740 KB | Number of queries: 9 |