广度优先搜索初级题目

来源:网络收集 时间:2025-04-29 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

广度优先搜索初级题目 邮递员问题 题目描述:

有一个邮递员要在n个城市之间来回送信。但有的城市之间有大路相连 而有的没有路。现在要由一个城市到另一个城市送信,中途最少要经过 多少个其它的城市呢?

输入:

第一行是n,k(1<=n<=10000, 1<=k<=20000),接下来就是k行。

这k行每行有两个数a,b(1 <= a,b <= n),表示城市a和b之间有大路 k行以后就是两个数p和q。 当n,k输入都为0的时候结束。

输出:

输出从城市p到城市q之间最少要经过的其它的城市的数目。 如果p和q之间不连通则输出\

样例输入1: 6 6 1 4 1 2 2 3 3 4 5 4 5 6 1 6 0 0

样例输出: 2

样例输入2: 3 1 1 2 1 3 0 0

样例输出: No solution

以下是我的代码,与大家交流分享

#include #include #include using namespace std;

intn,k;

int step[20010];

intlian[10002][10002]; int visit[20010]; intsrc,des;

int main() {

while(true) { cin>>n>>k;

if(n==0&&k==0)break; inta,b,x;

memset(lian,0,sizeof(lian)); memset(visit,0,sizeof(visit));

memset(step,10000,sizeof(step)); for(inti=0;i>a>>b; lian[a][b]=1; lian[b][a]=1; } cin>>src>>des; queue q; q.push(src); step[src]=0; visit[src]=1;

while(!q.empty()) { x=q.front(); q.pop();

for(int j=0;j<=n;j++)

{ if(lian[x][j]&&step[x]+1

} } if(!visit[des])

cout<<\else

cout<

}

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库广度优先搜索初级题目在线全文阅读。

广度优先搜索初级题目.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/171505.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219