# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
244446 | 2020-07-04T06:05:30 Z | shenxy | Potemkin cycle (CEOI15_indcyc) | C++11 | 26 ms | 1280 KB |
//happy birthday errorgorn #include <cstdio> #include <algorithm> #include <vector> using namespace std; typedef pair<int, int> ii; int N, R, depth[1000], parent[1000]; bool visited[1000]; vector<int> adjlist[1000]; ii ans = ii(-1, -1); void dfs(int v, int jmp_h) { visited[v] = true; int max_h = -1, good_i = -1, rmax_h = -1; for (int i: adjlist[v]) { if (i == parent[v] || !visited[i]) continue; if (depth[v] - depth[i] > 2 && depth[i] > max_h) { max_h = depth[i]; good_i = i; } rmax_h = max(depth[i], rmax_h); } if (max_h == rmax_h && max_h >= jmp_h && good_i != -1) ans = ii(good_i, v); jmp_h = max(jmp_h, rmax_h); for (int i: adjlist[v]) { if (visited[i]) continue; depth[i] = depth[v] + 1; parent[i] = v; dfs(i, jmp_h); } } int main() { scanf("%d %d", &N, &R); int u, v; for (int i = 0; i < R; ++i) { scanf("%d %d", &u, &v); adjlist[u - 1].push_back(v - 1); adjlist[v - 1].push_back(u - 1); } fill_n(visited, N, false); for (int i = 0; i < N; ++i) { if (!visited[i]) { depth[i] = 0; parent[i] = -1; dfs(i, -1); } } if (ans.first != -1) { for (int i = ans.second; i != parent[ans.first]; i = parent[i]) printf("%d ", i + 1); } else printf("no"); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 4 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
4 | Correct | 4 ms | 384 KB | Output is correct |
5 | Correct | 4 ms | 384 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Wrong adjacency |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 384 KB | Expected integer, but "no" found |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 384 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Wrong answer on graph without induced cycle |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 17 ms | 896 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 11 ms | 640 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 1280 KB | Output is correct |
2 | Correct | 25 ms | 1280 KB | Output is correct |
3 | Incorrect | 22 ms | 1152 KB | Wrong adjacency |
4 | Halted | 0 ms | 0 KB | - |