poj 2472

c提交

#include<stdio.h>
double map[102][102];

void clear(int n)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{ map[i][j]=-1; }
}
}

double floyed(int n)
{
int i,j,k;
for(k=0;k<n;k++)
{
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(map[i][j]<map[i][k]*map[k][j] && map[i][k]!=-1 && map[k][j]!=-1)
{
map[i][j]=map[i][k]*map[k][j]; }
}
return map[0][n-1];
}

void print(int n)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf(" %f ",map[i][j]);
}
printf("\n");
}
}

int main()
{
int n,m,i,x,y,w;
while(scanf("%d",&n)!=EOF)
{
if(n==0) break;

clear(n);
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d%d%d",&x,&y,&w);
map[x-1][y-1]=map[y-1][x-1]=w*1.0/100;
}

printf("%0.6lf percent\n",floyed(n)*100);
}
}

poj 2472,布布扣,bubuko.com

时间: 2024-10-10 10:30:13

poj 2472的相关文章

POJ 2472 &amp;&amp;ZOJ 2797 (106 miles to Chicago)

链接:click here 题意: Elwood和Jack要从the Palace Hotel(顶点1)尽量躲避警察的追捕,驾车到Chicago(顶点n).现在有n个顶点,m条边,给出在每条边上不被警察追捕到的几率,问最终Elwood和Jack能安全到达Chicago而不被警察追捕到的最大概率是多少. 思路:就是求从起点到终点的最小概率 floyd 算法(也可以用逆向的dijkstra要求的不是最小的,而是最大的.),涉及到概率,注意一下精度. 参考代码; #include <iostream>

POJ 2472 106 miles to Chicago

最短路问题变形. 题意是给你一些道路,和路过时不被抓的概率.要求找一条到达目的地时不被抓的最大概率概率. 初始 dis[]设为 1 .其余为 0 .找最大即可. #include<cstdio> #include<cstring> #include<string> #include<queue> #include<algorithm> #include<map> #include<stack> #include<io

图论 500题——主要为hdu/poj/zoj

转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并查集======================================[HDU]1213   How Many Tables   基础并查集★1272   小希的迷宫   基础并查集★1325&&poj1308  Is It A Tree?   基础并查集★1856   More i

图论常用算法之一 POJ图论题集【转载】

POJ图论分类[转] 一个很不错的图论分类,非常感谢原版的作者!!!在这里分享给大家,爱好图论的ACMer不寂寞了... (很抱歉没有找到此题集整理的原创作者,感谢知情的朋友给个原创链接) POJ:http://poj.org/ 1062* 昂贵的聘礼 枚举等级限制+dijkstra 1087* A Plug for UNIX 2分匹配 1094 Sorting It All Out floyd 或 拓扑 1112* Team Them Up! 2分图染色+DP 1125 Stockbroker

POJ - 3186 Treats for the Cows (区间DP)

题目链接:http://poj.org/problem?id=3186 题意:给定一组序列,取n次,每次可以取序列最前面的数或最后面的数,第n次出来就乘n,然后求和的最大值. 题解:用dp[i][j]表示i~j区间和的最大值,然后根据这个状态可以从删前和删后转移过来,推出状态转移方程: dp[i][j]=max(dp[i+1][j]+value[i]*k,dp[i][j-1]+value[j]*k) 1 #include <iostream> 2 #include <algorithm&

POJ 2533 - Longest Ordered Subsequence(最长上升子序列) 题解

此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置. 题目链接:http://poj.org/problem?id=2533 Description A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence (a1, a2, ..., aN) be any sequence (ai1, ai2, ..., aiK)

POJ——T2271 Guardian of Decency

http://poj.org/problem?id=2771 Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 5932   Accepted: 2463 Description Frank N. Stein is a very conservative high-school teacher. He wants to take some of his students on an excursion, but he is

POJ——T2446 Chessboard

http://poj.org/problem?id=2446 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 18560   Accepted: 5857 Description Alice and Bob often play games on chessboard. One day, Alice draws a board with size M * N. She wants Bob to use a lot of c

poj 1088 滑雪 DP(dfs的记忆化搜索)

题目地址:http://poj.org/problem?id=1088 题目大意:给你一个m*n的矩阵 如果其中一个点高于另一个点 那么就可以从高点向下滑 直到没有可以下滑的时候 就得到一条下滑路径 求最大的下滑路径 分析:因为只能从高峰滑到低峰,无后效性,所以每个点都可以找到自己的最长下滑距离(只与自己高度有关).记忆每个点的最长下滑距离,当有另一个点的下滑路径遇到这个点的时候,直接加上这个点的最长下滑距离. dp递推式是,dp[x][y] = max(dp[x][y],dp[x+1][y]+