poj 2472 106 miles to Chicago
来源:互联网 发布:淘宝非法交易如何退货 编辑:程序博客网 时间:2024/05/22 10:36
题目故事很有趣。其实就是让你找一条路径,这个路径最安全,被定义为最不可能被警察抓到的路。
输入的文本包含多组测试数据,每组第一行为两个整数n,m。n为交叉路口的数目,m为街道的数目,接下来m行来描述每一个 街道,输入a,b,p。a,b为这条街道的两个交叉路口,p为同个这个街道不能被抓到的概率。街道时双向的。
最短路的变形,把路径最短的三角不等式转化为概率最大就好了。
#include<iostream> #include<cstdio> #include<cstring> #include<string> using namespace std; const int N = 110; double Graph[N][N]; int n,m; void dijkstra() { bool vis[N]; double dis[N]; for(int i = 1 ; i <= n ; i++) { dis[i] = Graph[1][i]; vis[i] = false; } dis[1] = 1.0; vis[1] = true; for(int i = 2 ; i <= n ; i++) { int k; double maxx = 0.0;//比较类型的一致 for(int j = 2 ; j <= n ; j++) { if(!vis[j] && dis[j] > maxx) { k = j; maxx = dis[j]; } } vis[k] = true; for(int j = 2 ; j <= n ; j++) { if(!vis[j] && dis[j] < dis[k] * Graph[k][j]) { dis[j] = dis[k]*Graph[k][j]; } } } printf("%.6lf percent\n",dis[n]*100); } int main() { while(scanf("%d",&n) && n) { scanf("%d",&m); memset(Graph,0,sizeof(Graph)); int a,b,c; double f; for(int i = 0 ; i < m ; i++) { scanf("%d %d %d",&a,&b,&c); f = ((double)c)/100; Graph[a][b] = f; Graph[b][a] = f; } dijkstra(); } return 0; }
0 0
- poj 2472 106 miles to Chicago
- POJ 2472 106 miles to Chicago
- POJ:2472 106 miles to Chicago
- poj 2472 106 miles to Chicago
- poj 2472 106 miles to Chicago
- POJ 2472 106 miles to Chicago
- POJ-2472 106 miles to Chicago
- POJ 2472:106 miles to Chicago
- POJ 2472 106 miles to Chicago
- poj 2472 106 miles to Chicago
- Poj 2472 106 miles to Chicago【Floyd】
- POJ 2472 106 miles to Chicago
- POJ 2472 106 miles to Chicago(最短路)
- poj 2472--106 miles to Chicago-最短路flody
- ZOJ 2797 POJ 2472 106 miles to Chicago
- 【POJ】2472 106 miles to Chicago 最短路
- POJ 2472 &&ZOJ 2797 (106 miles to Chicago)
- zoj 2792 && poj 2472 106 miles to Chicago
- js使用正则实现ReplaceAll全部替换的方法
- 安卓学习笔记(八)http通信——安卓第五天
- IEEE会员
- 写一个类似iPhone内置拨号盘上的号码显示Label
- 二分图最大匹配总结
- poj 2472 106 miles to Chicago
- hdu 1698 线段树区间更新
- hdu 4819 二维线段树点更新
- POJ 2236 Wireless Network
- 背包问题 ——第K优解 或 次优解
- UVA 575-Skew Binary
- LeetCode 024. Swap Nodes in Pairs
- hdu1114Piggy-Bank
- 打印二叉树中所有和为某一值的路径