城市地图-图的深度优先遍历
来源:互联网 发布:阿里云报价 编辑:程序博客网 时间:2024/06/05 20:02
因为这个图是有向图,无向图和有向图代码很像,当这个图是无向图的时候,需要把输入的改成map[a][b]=c ,map[b][a]=c这样就是无向的,当他是无向图的时候最短路程不是1-2-5而是1-3-5
<span style="font-size:14px;">#include <iostream>using namespace std;int visit[101];int map[101][101];int n,m,a,b,c,cur;int dis,min_=9999999;void dfs(int cur,int dis){ int i; if(dis>min_)//如果当前的距离比最小值大立马返回 return; if(cur==n)//如果到达目的城市 { if(min_>dis) { min_=dis; } return; } for(i=1;i<=n;i++)//从当前城市cur依次看到哪个城市可以走 { if(map[cur][i]!=9999999 && visit[i]==0) { visit[i]=1; dfs(i,dis+map[cur][i]); visit[i]=0; } } }int main(){ int i,j; cin>>n>>m;//输入有n个城市编号1到n,共有m条路走 for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(i==j) map[i][j]=0; else map[i][j]=99999999; } } for(j=0;j<m;j++) { cin>>a>>b>>c; map[a][b]=c; } visit[1]=1; dfs(1,0); cout<<min_;}/* 5 8 1 2 2 1 5 10 2 3 3 2 5 7 3 1 4 3 4 4 4 5 5 5 3 3*/inwi</span>
0 0
- 城市地图-图的深度优先遍历
- 图的深度优先遍历--城市地图
- 啊哈算法 城市地图(图的深度优先遍历)
- 5.3城市地图——图的深度优先遍历
- 城市地图--深度优先遍历最短路径
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- 图的深度优先遍历
- XListView的简单示例
- 差分
- 程序员的你是否熟练掌握Chrome开发者工具?
- React’s diff algorithm
- C语言OJ项目参考(2698) 大奖赛计分
- 城市地图-图的深度优先遍历
- Arduino笔记
- 操作系统
- Leetcode-129. Sum Root to Leaf Numbers
- LeetCode 137. Single Number II 解题报告
- C++拷贝构造函数详解
- JavaScript用户输入自己的名字,输出写给用户的信件
- Python处理文件夹TXT
- xUtils网络请求小Demo