HDU 1596 也是最小路径Dijkstra
2016-02-28 22:40
309 查看
#include<cstdio> #include<cmath> #include<cstring> const int qq=1000+10; double dist[qq]; double city[qq][qq]; int vis[qq]; int n,m; int s,e; void Dijkstra() { double MAX; int u; for(int i=1;i<=n;++i){ vis[i]=0; dist[i]=city[s][i]; } vis[s]=1; for(int l=2;l<=n;++l){ MAX=0;u=s; for(int i=1;i<=n;++i) if(!vis[i] && dist[i] > MAX) MAX = dist[u=i]; if(MAX==0) break; if(u==e) break; vis[u]=1; for(int i=1;i<=n;++i) if(!vis[i]){ if(dist[i]<dist[u]*city[u][i]) dist[i]=dist[u]*city[u][i]; if(dist[i]<dist[u]*city[i][u]) dist[i]=dist[u]*city[u][i]; } } if(u!=e) printf("What a pity!\n"); else printf("%.3lf\n",dist[e]); } int main() { while(~scanf("%d",&n)){ for(int j,i=1;i<=n;++i) for(j=1;j<=n;++j) scanf("%lf",&city[i][j]); scanf("%d",&m); for(int i=0;i<m;++i){ scanf("%d %d",&s,&e); Dijkstra(); } } }
将原来的+换成*就行了、模板懂了这题就是水题了
相关文章推荐
- 3-8-循环队列-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版
- web前端排版
- GitHub教程
- android第三方登录数据库设计以及业务数据流向说明
- 静态数据的初始化
- Java冒泡排序和二分查找(预习)
- Java常见日期格式及日期的计算工具类
- 面试(必知必会)-sizeof()+strlen()函数浅析
- audio filter adelay 实现音量 延迟(空白音)(笔记)
- uva10026 - Shoemaker's Problem
- 3-7-队列的链式存储-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版
- cocos2d-x 有关Node
- Data到DOM,DOM到data,两个变量,我们都要互相监听
- Jmeter性能测试,MySQL JDBC request
- MySQL 快速入门
- 遗传算法工具箱使用1
- 动态规划入门
- 5.适配器模式
- 熊猫TV 弹幕助手 (开源 、 Java)
- 2016week1