图的深度遍历
来源:互联网 发布:权力的游戏 夜王 知乎 编辑:程序博客网 时间:2024/05/17 18:45
图的深度遍历
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
14 40 10 20 32 3
Example Output
0 1 2 3
#include <stdio.h>#include <string.h>#include <stdlib.h>int map[123][123],vis[123],pum[1234],sum=0;int k,m,n;void DFS(int x){pum[sum++] = x;vis[x] = 1;DFS(i);for(int i=0;i<k;i++){if(vis[i]==0&& map[x][i]){}}}int main(){memset(map,0,sizeof(map));int u,v,i;scanf("%d",&n);while(n--){sum =0;//初始化scanf("%d%d",&k,&m);memset(vis,0,sizeof(vis));for(i=0;i<m;i++){scanf("%d%d",&u,&v);map[u][v] = map[v][u] = 1;}for(i=0;i<k;i++)printf("%d\n",pum[i]);{if(vis[i]==0) //控制可进入的条件DFS(0);}for(i=0;i<sum;i++){if(i==sum-1){}}else{printf("%d ",pum[i]);}}}return 0;
0 0
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- centos安装wget 及配置
- 解决easyui在session过期后iframe跳转到登录页面的问题
- (学习笔记)数据结构大体回顾
- MySQL初步
- 关于手游 必须了解的内容
- 图的深度遍历
- Java多线程 之 原子性与可见性(八)
- typedef和define之间的差别
- 第10周 项目3-计算二叉树节点个数
- Codeforces 629D Babaei and Birthday Cake LIS+线段树优化
- ViewStub
- android官方文档之路--Wi-Fi Peer-to-Peer
- 对于tableView优化的见解,欢迎补充
- MPLS技术学习总结