数据结构实验之图论二:图的深度遍历
2017-11-22 14:37
211 查看
数据结构实验之图论二:图的深度遍历
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。
Input
输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。
Output
输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示DFS的遍历结果。
Example Input
1
4 4
0 1
0 2
0 3
2 3
Example Output
0 1 2 3
Hint
Author
4000
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。
Input
输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。
Output
输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示DFS的遍历结果。
Example Input
1
4 4
0 1
0 2
0 3
2 3
Example Output
0 1 2 3
Hint
Author
#include <iostream> #include <cstring> using namespace std; int const MAX = 150; int mmp[MAX][MAX], vt[MAX]; void dfs(int x, int k) { for(int i = 0; i < k; i++) { if(!vt[i] && mmp[x][i]) { vt[i] = 1; cout << " " << i; dfs(i, k); } } } int main() { int n; cin >> n; while(n--) { int m, k; cin >> k >> m; memset(mmp, 0, sizeof(mmp)); memset(vt, 0, sizeof(vt)); int u, v; for(int i = 0; i < m; i++) { cin >> u >> v; mmp[u][v] = mmp[v][u] = 1; } vt[0] = 1; cout << 0; dfs(0, k); cout << endl; } return 0; }
4000
相关文章推荐
- 2107 数据结构实验之图论二:图的深度遍历
- 数据结构实验之图论二:图的深度遍历 oj
- 数据结构实验之图论二:图的深度遍历
- 2107-数据结构实验之图论二:图的深度遍历
- 数据结构实验之图论二:图的深度遍历
- 数据结构实验之图论二:图的深度遍历
- 数据结构实验之图论二:图的深度遍历
- 数据结构实验之图论二:图的深度遍历
- 数据结构实验之图论二:图的深度遍历
- 数据结构实验之图论二:图的深度遍历
- 3361 数据结构实验之图论四:迷宫探索
- 2141数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历(BFS+前向星)
- SDUT-2141-数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验之图论八:欧拉回路 sdutoj3364
- SDUT OJ 3364 数据结构实验之图论八:欧拉回路
- 数据结构实验之图论四:迷宫探索
- 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历