找最佳通路
来源:互联网 发布:ppt网络拓扑图素材 编辑:程序博客网 时间:2024/05/01 13:22
73. 找最佳通路
★☆ 输入文件:city.in
输出文件:city.out
简单对比时间限制:1 s 内存限制:128 MB
问题描述
有 n 个 城市,它们之间的交通情况已知。现在要求根据一个出发点Cs和一个到达点Cd,请编程序,由计算机找到从城市Cs 到 Cd 的一条路径,要求经过城市最少。
【输入格式】
输入文件: city.in
输入由若干行组成,第一行有四个整数,n(1≤n≤50)、m(1≤m≤n*n)和s(1≤s≤n)、e(1≤e≤n);n表示城市数,m表示道路数,s和e表示出发点和到达点。
第 2至m+1行是m 条边的 信息,每行两个整数,为边的起点和终点。
【输出格式】
输出文件: city.out
一个整数,经过城市的个数(包括起点和终点)
【输入样例】
输入文件名:city.in
6 6 1 5
1 3
2 6
3 6
3 2
6 4
4 5
输出文件名:city.out
5
可以直接BFS。因为图节点少,而且没有权值。
#include<cstdio>#include<queue>using namespace std;const int maxn = 110;bool link[maxn][maxn];int n,m,s,e;bool vis[maxn];struct node{ int x,step;};int step;void bfs(){ node s_pos; queue<node >q; s_pos.x=s; s_pos.step=1; q.push(s_pos); vis[s]=true; while(!q.empty()){ node x=q.front(); q.pop(); if(x.x==e){ step=x.step;return ;} for(int i=1;i<=n;i++){ if(link[x.x][i]&&!vis[i]){ vis[i]=true; s_pos.x=i; s_pos.step=x.step+1; q.push(s_pos); } } }}int main(){ freopen("city.in","r",stdin); freopen("city.out","w",stdout); int a,b; scanf("%d%d%d%d",&n,&m,&s,&e); for(int i=0;i<m;i++){ scanf("%d%d",&a,&b); link[a][b]=true; } bfs(); printf("%d\n",step); return 0;}
- 找最佳通路
- ACM 73. 找最佳通路(水广搜)
- python 题目一,给出一张数组map,输入起点和终点,找一通路
- 求找素数的最佳算法
- 众包平台找问题的最佳答案
- ProjSpider-打造程序员找私活的最佳工具
- 通路搜索
- 找
- 找
- 找
- 找最佳餐馆(multiarmed bandit problem)机器学习笔记1
- 潜通路分析
- 欧拉通路
- 渲染通路(Pass)
- 并查集求欧拉回路/通路
- Ogre 渲染通路(Pass)
- 有向图欧拉通路
- 无向图欧拉通路
- 安全思维导图
- 上海撞死5名养护工肇事者称捡眼镜时打歪方向-撞死-养护工
- QTcpSocket类中文参考
- POJ-1149-PIGS
- Oracle rownum方式分页和rownum解析
- 找最佳通路
- 【学习笔记】BOM和UTF编码纪要
- 将编译AS3区分Debug版本和Release版本
- vs2008中CListCtrl的NM_DBLCLK消息编译错误
- GDAL\OGR C#中文路径不支持的问题解决方法
- HDU 2722 Here We Go(relians) Again (输入处理恶心)
- JAVA--第八周实验--继承的练习
- HDU-1878-欧拉回路
- VMWare tools的安装过程及文件共享设置