hdu 1142(最短路dijkstra)
来源:互联网 发布:编程电脑配置要求2017 编辑:程序博客网 时间:2024/06/05 11:29
假设 A 和 B 是相连的,当前在 A 处,如果 A 到终点的距离大于 B 到终点的距离,
则可以从 A 通往 B 处,问满足这种的条件的路径条数。
1、以终点 2 为起点 dijkstra;
则可以从 A 通往 B 处,问满足这种的条件的路径条数。
1、以终点 2 为起点 dijkstra;
2、直接DFS记忆化搜索。
#include <iostream>#include <stdio.h>#include <string.h>#define MAX 1010#define INF 99999999using namespace std;int n,m;int g[MAX][MAX],dis[MAX],vis[MAX],is[MAX];void init(){ for(int i=0;i<=n;i++) { for(int j=0;j<=n;j++) { g[i][j]=INF;dis[i]=INF; } } for(int i=0;i<=n;i++)g[i][i]=0; memset(vis,0,sizeof(vis)); memset(is,0,sizeof(is));}void dijkstra(int s){ int k,mm; for(int i=1;i<=n;i++) { dis[i]=g[s][i]; } vis[s]=1; dis[s]=0; for(int i=2;i<=n;i++) { mm=INF; k=s;//这句话很重要啊!!害我RE了好多次,有可能木有啊 for(int j=1;j<=n;j++) { if(!vis[j]) { if(mm>dis[j]) { mm=dis[j]; k=j; } } } vis[k]=1; for(int j=1;j<=n;j++) { if(!vis[j]) { if(dis[j]>mm+g[k][j]) { dis[j]=mm+g[k][j]; } } } }}int dfs(int s){ if(is[s]) return is[s]; if(s==2)return 1; int res=0; for(int i=1;i<=n;i++) { if(g[s][i]<INF&&dis[s]>dis[i]) { is[s]+=dfs(i); } } return is[s];}int main(){ //freopen("in.txt","r",stdin); while(scanf("%d",&n)&&n) { init(); scanf("%d",&m); for(int i=0;i<m;i++) { int a,b,d; scanf("%d%d%d",&a,&b,&d); g[b][a]=g[a][b]=d; } dijkstra(2); printf("%d\n",dfs(1)); } return 0;}
0 0
- hdu 1142(最短路dijkstra)
- 【HDU】-2544-最短路(最短路)(dijkstra)
- hdu 2544 最短路(最短路算法之Dijkstra)
- hdu 2544 最短路(Dijkstra 备忘)
- HDU 2544 最短路(Dijkstra)
- hdu 2544 最短路(水题,dijkstra)
- HDU 2544 最短路 (Dijkstra || SPFA)
- HDU - 2544 最短路 (Dijkstra)
- hdu 2544 最短路 (dijkstra算法)
- hdu 2544 最短路(dijkstra||spfa)
- HDU 2544 最短路(Dijkstra)
- HDU-2433 Travel(最短路[Dijkstra])
- hdu 2544 最短路(dijkstra)
- hdu 2544 最短路(dijkstra)
- HDU 2544 最短路(dijkstra)
- hdu 2544 最短路 (dijkstra,floyd)
- hdu 2544最短路(Dijkstra)
- HDU 2544 最短路(Dijkstra)
- poj2492 A Bug's Life 并查集
- DP - hdu5291 Candy Distribution
- python爬虫抓取LeetCode题目
- 101. Symmetric Tree
- 装wampserver时显示计算机丢失MSVCR110.dll
- hdu 1142(最短路dijkstra)
- 【Qt OpenGL教程】21:线、反走样、正投影和简单的声音
- C++:复制构造函数___浅拷贝
- UVA - 1442 Cav
- Leetcode# 110 Balanced Binary Tree
- 黑马程序员 oc随记 写一个手动内存释放
- 静态字符串模式匹配模板库
- ScrollView中嵌套ScrollView或ListView并且内部ScrollView或ListView也可滑动
- (二)模板引擎之Velocity脚本基本语法全