#include <bits/stdc++.h>
using namespace std;
bool vis[100];
int n, k, m, s, u, v;
int Graph[100][100];
void BFS(int s);
int main()
{
cin >> k;
while(k --)
{
memset(Graph, 0, sizeof(Graph));
memset(vis, 0, sizeof(vis));
cin >> n >> m >> s;
while(m --)
{
cin >> u >> v;
Graph[u][v] = Graph[v][u] = 1;
}
cout << s;
vis[s] = 1;
BFS(s);
cout << endl;
}
return 0;
}
void BFS(int s)
{
queue<int>Q;
Q.push(s);
while(!Q.empty())
{
int now = Q.front();
Q.pop();
for(int i = 0; i < n; i++)
{
if(!vis[i] && Graph[now][i])
{
vis[i] = 1;
cout << ' ' << i;
Q.push(i);
}
}
}
}
SDUT 2141 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
最新推荐文章于 2016-09-22 09:33:53 发布