Submission #36934

#TimeUsernameProblemLanguageResultExecution timeMemory
36934aomePotemkin cycle (CEOI15_indcyc)C++14
70 / 100
216 ms8092 KiB
#include <bits/stdc++.h> using namespace std; const int N = 1005; int n, m; int nxt[N][N]; bool E[N][N]; bool finish[N][N]; void dfs(int x, int y) { for (int i = 1; i <= n; ++i) { if (E[y][i] && !E[x][i] && i != x && !finish[y][i]) { if (nxt[y][i]) { int curx = x, cury = y; while (curx != y && cury != i) { cout << cury << ' '; int tmp = nxt[curx][cury]; cury = curx, curx = tmp; } cout << cury; exit(0); } else nxt[y][i] = nxt[i][y] = x, dfs(y, i); } } finish[x][y] = finish[y][x] = 1; } int main() { ios::sync_with_stdio(false); cin >> n >> m; for (int i = 1; i <= m; ++i) { int u, v; cin >> u >> v; E[u][v] = E[v][u] = 1; } for (int i = 1; i <= n; ++i) { for (int j = 1; j <= n; ++j) { if (!E[i][j] || nxt[i][j]) continue; nxt[i][j] = nxt[j][i] = i, dfs(i, j); } } cout << "no"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...