基于邻接矩阵的广度优先搜索遍历(BFS)
2024-10-18 05:36:09
题目:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2141&cid=1186
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
#include<queue>
using namespace std;
int map[][],vis[];
int n,m,k;
queue<int>q;
void bfs(int t)
{
int i,x,a[],j;
q.push(t);
vis[t]=; j=;
while(!q.empty())
{
x=q.front();
a[++j]=x;
q.pop();
for(i=; i<k; i++)
{
if((map[x][i]||map[i][x])&&vis[i]==)
{
vis[i]=;
q.push(i);
}
}
}
for(i=; i<=j-; i++)
printf("%d ",a[i]);
printf("%d\n",a[i]);
};
int main()
{
int t,i,u,v;
scanf("%d",&n);
while(n--)
{
memset(map,,sizeof(map));
memset(vis,,sizeof(vis));
cin>>k>>m>>t;
for(i=; i<m; i++)
{
cin>>u>>v;
map[u][v]=;
map[v][u]=;
}
bfs(t);
}
}
最新文章
- Django项目流程(摘抄整理)
- BCB6 重装后的项目编译莫名问题
- 【转】java 自动装箱与拆箱
- hdu 5532 Almost Sorted Array
- Jsp中获得集合List或Set的长度
- heibernate增删改查总结一下自己的不足
- IDE 常用快捷键记录
- 老漏洞easy击:CVE-2012 0158占顶!
- L - 辗转相除法(第二季水)
- 一周学会Mootools 1.4中文教程:序论
- JavaScript循环实例
- ubuntu,kali linux和windows三系统流水账&mdash;&mdash;写给自己
- 页面缓存js问题解决
- 命令别名设置: alias, unalias
- 挖一挖MongoDB的备份与还原(实现指定时间点还原和增量备份还原)
- 网络控制器intel 82599, powerpc 830的BD描述符结构
- jTimer
- 集群容器管理之swarm ---集群部署
- adi 程序烧写
- pip简单配置