3364-数据结构实验之图论八:欧拉回路
2017-12-07 17:12
302 查看
#include <iostream> #include <cstring> #define MAX 0x3f3f3f3f using namespace std; int map[1123][1123]; int vis[1123], b[1123]; int flag; bool judge(int n) { for(int i = 1; i <= n; i++) { if(!vis[i] || b[i] % 2) /// 如果无向图连通并且所有结点的度都是偶数,则存在欧拉回路,否则不存在。 { return false; } } return true; } void dfs(int x, int n) { vis[x] = 1; if(map[x][1] == 1) /// 如果回到原点 { if(judge(n)) /// 如果所有的点都被标记 { flag = 1; return ; } } for(int i = 1; i <= n; i++) { if(flag) { return ; } if(map[x][i] && !vis[i]) { dfs(i,n); } } vis[x] = 0; /// 如果该点未找到欧拉回路 取消标记 } int main() { int t, m, n; cin >> t; while(t--) { flag = 0; memset(map, 0, sizeof(map)); memset(vis, 0, sizeof(vis)); memset(b,0,sizeof(b)); cin >> n >> m; while(m--) { int u, v; cin >> u >> v; map[u][v] = map[v][u] = 1; b[u]++; b[v]++; } dfs(1,n); cout << flag << endl; } return 0; }
相关文章推荐
- 3364 数据结构实验之图论八:欧拉回路
- 3364 数据结构实验之图论八:欧拉回路
- SDUTOJ(3364)数据结构实验之图论八:欧拉回路
- SDUT OJ 3364 数据结构实验之图论八:欧拉回路
- SDUT 3364 数据结构实验之图论八:欧拉回路
- 3364 数据结构实验之图论八:欧拉回路
- SDUT 3364-数据结构实验之图论八:欧拉回路(并查集)
- 数据结构实验之图论八:欧拉回路
- SDUT-数据结构实验之图论八:欧拉回路
- 数据结构实验之图论八:欧拉回路
- SDUTACM 数据结构实验之图论八:欧拉回路
- 数据结构实验之图论八:欧拉回路
- 数据结构实验之图论八:欧拉回路
- 数据结构实验之图论八:欧拉回路
- 数据结构实验之图论八:欧拉回路
- 数据结构实验之图论八:欧拉回路
- 数据结构实验之图论八:欧拉回路
- 数据结构实验之图论八:欧拉回路
- 数据结构实验之图论八:欧拉回路
- 数据结构实验之图论八:欧拉回路