题目描述

代码框架如下:

输入

第一行输入t,表示有t个测试实例

第二行输入n,表示第1个图有n个结点

第三行起,每行输入邻接矩阵的一行,以此类推输入n行

第i个结点与其他结点如果相连则为1,无连接则为0,数据之间用空格隔开

以此类推输入下一个示例

输出

每行输出一个图的广度优先搜索结果,结点编号之间用空格隔开

样例输入

2
4
0 0 1 1
0 0 1 1
1 1 0 1
1 1 1 0
5
0 0 0 1 1
0 0 1 0 0
0 1 0 1 1
1 0 1 0 0
1 0 1 0 0

样例输出

0 2 3 1
0 3 4 2 1
 
#include<bits/stdc++.h>
using namespace std;
const int MaxLen=;
class Map
{
private:
bool Visit[MaxLen];
int Matrix[MaxLen][MaxLen];
int Vexnum;
void BFS(int v)
{
int w, u;
int i, k;
int *AdjVex= new int [MaxLen];
queue<int> q;
for(i= ; i< Vexnum; i++)
Visit[i]= false;
for(v= ; v< Vexnum; v++)
{
if(!Visit[v])
{
Visit[v]= true;
q.push(v);
while(!q.empty())
{
u= q.front();
cout<<u<<' ';
q.pop();
for(i= ; i< MaxLen; i++)
AdjVex[i]= -;
k=;
for(i= ;i<Vexnum;i++)
if(Matrix[u][i])
AdjVex[k++]=i;
i= ;
for(w= AdjVex[i]; w>= ; w= AdjVex[i++])
if(Visit[w]== false)
{
Visit[w]= true;
q.push(w);
}
}
}
}
} public :
void SetMatrix(int vnum,int mx[MaxLen][MaxLen])
{
int i,j;
Vexnum=vnum;
for(i=;i<MaxLen;i++)
for(j=;j<MaxLen;j++)
Matrix[i][j]=;
for(i=;i<Vexnum;i++)
for(j=;j<Vexnum;j++)
Matrix[i][j]=mx[i][j];
}
void BFSTraverse()
{
BFS();
}
};
int main()
{
int t;
cin>>t;
while(t--)
{
int n,i,j;
cin>>n;
int a[MaxLen][MaxLen];
for(i=;i<n;i++)
for(j=;j<n;j++)
cin>>a[i][j];
Map map;
map.SetMatrix(n,a);
map.BFSTraverse();
cout<<endl;
}
}

最新文章

  1. java连接oracle范例
  2. HDU1575Tr A(矩阵相乘与快速幂)
  3. Hibernate总结3
  4. Undefined symbols for architecture x86_64: &quot;_OBJC_CLASS_$_GiftAnimationView&quot;
  5. Echarts图表控件使用总结1(Line,Bar)
  6. jquery通过ajax方法获取json数据不执行success
  7. java 集合(list、set、map)的特点
  8. wuzhicms水印的设置
  9. angularjs directive 实例 详解
  10. 解决使用Touch ID API在回调时界面“长时间卡住”的问题
  11. C#中继承,集合(Eleventh day)
  12. virtual与static
  13. asp.net core系列 34 EF保存数据(1)
  14. DataTables中自增序号的实现
  15. 整合MVC实现文件上传
  16. MM-分割评估
  17. mybatis 字段类型Data相
  18. jq:翻页时,保存上页多选框checkbox选中状态
  19. JQuery 为radio赋值问题
  20. C#PrintDocument打印尺寸调整

热门文章

  1. OpenVPN多用户配置
  2. sudo with no password
  3. Python之路PythonThread,第三篇,进程3
  4. 深度学习环境配置Ubuntu16.04+CUDA8.0+CUDNN5
  5. Angular 201703
  6. Unity 3D光源-Point Light点光源详解/灯泡、模拟灯光效果教程
  7. ios开发常用封装的实用方法
  8. day python calss08 深浅copy
  9. linux 的压缩 打包
  10. 一个简易的drf的项目例子