# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
598871 | 2022-07-19T06:41:09 Z | 장태환(#8458) | Potemkin cycle (CEOI15_indcyc) | C++17 | 16 ms | 3032 KB |
#include <bits/stdc++.h> #include <assert.h> using namespace std; int num[1010]; int depth[1010]; pair<int,int> maxbe[1010]; int par[1010]; vector<int>link[1010]; bool arr[1010][1010]; vector<pair<int, int>>t; vector<int>ue[1010], de[1010]; int c; void dfs(int n, int p = 0, int d = 0) { depth[n] = d; num[n] = ++c; par[n] = p; int i; for (i = 0; i < link[n].size(); i++) { if (link[n][i] == p) continue; if (num[link[n][i]]) { if (depth[link[n][i]] < d) { if (arr[n][link[n][i]]) continue; arr[n][link[n][i]] = 1; maxbe[n] = max(maxbe[n], { depth[link[n][i]],link[n][i] }); t.push_back({ n,link[n][i] }); } else { if (arr[link[n][i]][n]) continue; arr[link[n][i]][n] = 1; maxbe[link[n][i]] = max(maxbe[link[n][i]], { d,n }); t.push_back({ link[n][i],n }); } } else { dfs(link[n][i], n, d + 1); } } } int main() { memset(maxbe, -10, sizeof(maxbe)); ios_base::sync_with_stdio(false); cin.tie(NULL); int N, M; cin >> N >> M; int i; for (i = 0; i < M; i++) { int a, b; cin >> a >> b; link[a].push_back(b); link[b].push_back(a); } for (i = 1; i <= N; i++) { if (!num[i]) { dfs(i); } } for (i = 0; i < t.size(); i++) { vector<int>ans; int c = -1; ue[t[i].first].push_back(t[i].second); de[t[i].second].push_back(t[i].first); while (depth[t[i].first] > depth[t[i].second]) { c++; ans.push_back(t[i].first); if (maxbe[t[i].first].first > depth[t[i].second] || (maxbe[t[i].first].first == depth[t[i].second] && c)) { t[i].first = maxbe[t[i].first].second; } else t[i].first = par[t[i].first]; c++; } ans.push_back(t[i].second); if (ans.size() <= 3) { continue; } for (i = 0; i < ans.size(); i++) cout << ans[i] << ' '; return 0; } cout << "no"; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 0 ms | 340 KB | Output is correct |
3 | Correct | 1 ms | 340 KB | Output is correct |
4 | Correct | 1 ms | 340 KB | Output is correct |
5 | Correct | 0 ms | 340 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 340 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 340 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 468 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 468 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 852 KB | Wrong answer on graph without induced cycle |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 724 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 8 ms | 2628 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 2024 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 16 ms | 3032 KB | Wrong adjacency |
2 | Halted | 0 ms | 0 KB | - |