C++ Optimization for Finding Removable Railways to Disconnect Cities
#pragma GCC optimize("Ofast")\n#include<bits/stdc++.h>\nusing namespace std;\n\nconst int MAXN = 155;\nint n, m;\nbool g[MAXN][MAXN];\nbool vis[MAXN];\n\nvoid dfs(int j) {\n for (int i = 1; i <= n; i++) {\n if (g[j][i] && !vis[i]) {\n vis[i] = true;\n dfs(i);\n }\n }\n}\n\nint main() {\n scanf("%d%d", &n, &m);\n for (int i = 0; i < m; i++) {\n int u, v;\n scanf("%d%d", &u, &v);\n g[u][v] = g[v][u] = true;\n }\n\n for (int j = 0; j < m; j++) {\n memset(vis, false, sizeof(vis));\n g[u[j]][v[j]] = g[v[j]][u[j]] = false;\n\n vis[1] = true;\n dfs(1);\n bool allCitiesReachable = true;\n for (int i = 1; i <= n; i++) {\n if (!vis[i]) {\n allCitiesReachable = false;\n break;\n }\n }\n\n if (!allCitiesReachable) {\n printf("%d %d\n", u[j], v[j]);\n }\n\n g[u[j]][v[j]] = g[v[j]][u[j]] = true;\n }\n\n return 0;\n}
原文地址: https://www.cveoy.top/t/topic/pVSO 著作权归作者所有。请勿转载和采集!