hdu 1217(Floyd 算法)
2011-08-01 11:28
302 查看
自己还是比较容易受外界影响,外面一有什么风吹草动,就没心思继续做题了,该死,就不能集中下精神 啊,
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/angry.gif)
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/angry.gif)
#include <iostream> #include<cstdio> #include<string.h> using namespace std; double a[35][35]; char s[35][100],s1[35],s2[35]; int n; bool flag; void Floyd() { for(int k=0;k<n;k++) for(int i=0;i<n;i++) for(int j=0;j<n;j++) { if(a[i][j]<a[i][k]*a[k][j])//此处加变乘,小于变大于 a[i][j]=a[i][k]*a[k][j]; } int i; for(i=0;i<n;i++) if(a[i][i]>1) { flag=true; break; } if(i==n) flag=false; } int main() { int m,count=1; double c; while(scanf("%d",&n)&&n) { for(int i=0;i<n;i++) scanf("%s",s[i]); memset(a,0,sizeof(a)); scanf("%d",&m); while(m--) { int i,j; scanf("%s%lf%s",s1,&c,s2); for(i=0;i<n;i++) if(strcmp(s1,s[i])==0) break; for(j=0;j<n;j++) if(strcmp(s2,s[j])==0) break; a[i][j]=c; } printf("Case %d: ",count++); Floyd(); if(flag) puts("Yes"); else puts("No"); } }
相关文章推荐
- hdu 1217 Arbitrage 两种算法AC代码,Floyd+Bellman-Ford 大水题一枚 注意是有向图~~
- hdu 1217 利用flord算法求 有环图 2点之间最大值
- HDU 1217-Arbitrage(Floyd)
- HDU 1217 Arbitrage (Floyd)
- POJ 2240 && HDU 1217 Arbitrage(Floyd)
- hdu 1217 Arbitrage(Floyd最短路算法+map应用)
- hdu 1217 Arbitrage (Floyd)
- 算法模板之Floyd(HDU 1874 畅通工程续)
- HDU:1596 find the safest road(floyd最短路径算法+打表)
- HDU 1217 Arbitrage(floyd)
- HDU 1874 畅通工程续 FLOYD 算法
- HDU1217——Arbitrage(Floyd)
- hdu 1217 Arbitrage 最短路 floyd+map容器
- hdu 2112 HDU Today(floyd 算法)
- HDU 1874 求最短路径 Floyd 算法
- hdu 1217 (Floyd变形)
- hdu 1217/poj 2240 Arbitrage【floyd】
- HDU 1217 Arbitrage (Floyd)
- hdu 1874 最短路径 dijkstra 和floyd 算法
- HDU 1874 畅通工程续 (Dijkstra , Floyd , SPFA, Bellman_Ford 四种算法)