POJ 2240 Arbitrage (floyed) .cpp
2011-07-29 13:53
281 查看
#include <cstdio> #include <cstring> int n,m; double dis[31][31],rate; char name[31][30],name1[30],name2[30]; int getpos(char *s) { int i; for(i=1;i<=n;i++) { if(strcmp(s,name[i])==0) { return i; } } return 0; } int main() { int i,j,k,casenum = 0; while(scanf("%d",&n),n!=0) { casenum++; memset(dis,0,sizeof(dis)); for(i=1;i<=n;i++) { dis[i][i] = 1.0; scanf("%s",name[i]); } scanf("%d",&m); for(i=1;i<=m;i++) { scanf("%s%lf%s",name1,&rate,name2); dis[getpos(name1)][getpos(name2)] = rate; } bool flag = true; for(k=1;k<=n && flag;k++) { for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(dis[i][j] < dis[i][k] * dis[k][j]) dis[i][j] = dis[i][k] * dis[k][j]; } if(dis[i][i] > 1.0) { printf("Case %d: Yes\n",casenum); flag = false; break; } } } if(flag) printf("Case %d: No\n",casenum); } return 0; }
相关文章推荐
- (Floyed-Warshall13.1.2)POJ 2240 Arbitrage(Floyed-Warshall公式的使用||求所有货币之间的最佳兑换方案)
- POJ 2240 Arbitrage 最短路径 Floyed-Warshall
- POJ 2240 Arbitrage(Floyed-Warshall算法)
- POJ 2240 Arbitrage(Floyed-Warshall算法)
- POJ 2240 Arbitrage(最短路Floyed)
- POJ 2240 Arbitrage
- 最短路(Floyd_Warshall) POJ 2240 Arbitrage
- poj 2240 Arbitrage
- POJ 2240 Arbitrage
- poj2240 - Arbitrage
- poj_2240 Arbitrage
- poj 2240 Arbitrage
- poj-2240-Arbitrage-spfa-最短路
- POJ 2240 Arbitrage 最短路线
- POJ - 2240 Arbitrage (floyd最短路)
- POJ 2240 Arbitrage
- poj 2240 Arbitrage
- POJ2240——Arbitrage(Floyd算法变形)
- poj 2240 Arbitrage(最短路+Bellman-Ford)
- poj 2240 Arbitrage(bellman-ford spfa 判断正环)