图的广度优先搜索(邻接矩阵)
来源:互联网 发布:mysql trigger 编辑:程序博客网 时间:2024/05/24 04:45
Problem Description
给出图的顶点数和顶点与顶点之间的连接关系,请输出用邻接矩阵存储的图的广度优先搜索顶点序列。
Input
输入的第一行是一个整数T表示测试示例的数目,每组示例的第一行有两个数m(2<=m<=10)和n(1<=n<=m*(m-1)/2),m表示顶点的个数(顶点的标号从1-m),n表示边的个数。下面n行的每行有两个顶点号表示一条边。后面一行是一个数k,k表示需要搜索的顶点数量。后面k行每行有一个数表示从该顶点开始搜索。在搜索过程中与同一个顶点相邻的顶点按顶点标号从小到大进行搜索。
Output
每组输出k行,每行为从输入的一个顶点开始搜索的广度优先搜索序列。每组搜素结果之间用空行隔开。
Sample Input
12 11 2212
Sample Output
1 22 1
//标程:
#include<iostream>#include<cstring>#include<queue>using namespace std;int edge_num,point_num,start_point,cnt;int map[15][15], visited[15];queue<int> q_map;void bfs(){ while(!q_map.empty()){int temp_point=q_map.front();cnt++;if(cnt<point_num) cout<<temp_point<<" ";if(cnt==point_num) cout<<temp_point<<endl;q_map.pop();for(int i=1;i<=point_num;i++){if(visited[i]!=1 && map[temp_point][i]==1){visited[i]=1;q_map.push(i);}}}}int main(){ //freopen("b.txt","r",stdin);int group_num,i,point1,point2;cin>>group_num;while(group_num--){cin>>point_num>>edge_num;while(!q_map.empty()) q_map.pop();memset(map,0,sizeof(map));for(i=1;i<=edge_num;i++){ cin>>point1>>point2; map[point1][point2]=map[point2][point1]=1;}int ask;cin>>ask;for(i=1;i<=ask;i++){memset(visited,0,sizeof(visited));cin>>start_point;visited[start_point]=1;q_map.push(start_point);cnt=0; bfs();}if(group_num!=0) cout<<endl;}return 0;}
0 0
- 图的广度优先搜索(邻接矩阵)
- 图的广度优先搜索(邻接矩阵)
- [数据结构] 图的邻接矩阵广度优先搜索
- BFS-图的广度优先搜索--邻接矩阵
- 邻接矩阵的广度优先搜索
- 图的深度、广度优先搜索(邻接矩阵)
- 图的广度优先搜索遍历(邻接表&邻接矩阵)(C++)
- 基于邻接矩阵的广度优先搜索遍历
- 邻接矩阵实现的广度优先搜索
- 基于邻接矩阵的广度优先搜索遍历
- 基于邻接矩阵的BFS广度优先搜索
- 基于邻接矩阵的广度优先搜索遍历
- 邻接矩阵的广度优先搜索和深度优先搜索
- 邻接矩阵表示图的深度优先搜索和广度优先搜索
- 图的邻接矩阵与广度优先
- 图的广度优先遍历::邻接矩阵+队列.
- 图的广度优先遍历(邻接矩阵)
- 图的广度优先遍历邻接矩阵
- 验证代码的生成
- 如何用readstring()来读文件
- hdu 1905 快速幂取模
- c++构造函数认识(一)
- LIGHTOJ 1027
- 图的广度优先搜索(邻接矩阵)
- 自考的结束预示着新的开始
- 保存Google、Bing翻译的语音
- ASP.NET 下载的几种方法
- 高斯判别分析和朴素贝叶斯分类器
- MFC文档视图(二):标准消息
- CGContext画线
- 嵌入式 hi3518c平台SIMCOM5360E型号3G模块移植使用PPPD拨号(待续)
- 关于让iframe背景透明的方法