ZOJ 1092 Arbitrage 【Floyd-Warshal】
2011-08-13 10:49
405 查看
//2625082 2011-08-13 10:36:36 Accepted 1092 C 20 160 ylwh@Unknown #include <stdio.h> #include <string.h> #define N 32 #define M 100 int main() { int n, m, ok; double d , temp; int i, j, k, t=0, flag; char name [M], s1[M], s2[M]; while(scanf("%d", &n), n) { ok = 0; t++; for(i=1; i<=n; i++) { scanf("%s", name[i]); for(j=1; j<=n; j++) d[i][j] = 0.0; d[i][i] = 1.0; } scanf("%d", &m); while(m--) { flag = 0; scanf("%s%lf%s", s1, &temp, s2); for(i=1; i<=n && flag!=2; i++) { if(strcmp(s1, name[i]) == 0)//刚开始竟然把这里写错了,惭愧啊惭愧 { j = i; flag++; } if(strcmp(s2, name[i]) == 0) { k = i; flag++; } } d[j][k] = temp; } for(k=1; k<=n; k++) for(i=1; i<=n; i++) for(j=1; j<=n; j++) { temp = d[i][k] * d[k][j]; if(temp > d[i][j])//要找最大的 d[i][j] = temp; } for(i=1; i<=n; i++) if(d[i][i] > 1) { ok = 1; break; } printf("Case %d: ", t); if(ok) printf("Yes\n"); else printf("No\n"); } return 0; }
相关文章推荐
- ZOJ Problem Set - 1092 Arbitrage (Floyd)
- zoj 1092 Arbitrage(最短路,floyd)
- ZOJ 1092 Arbitrage (floyd变形)
- zoj 1092 || poj 2240 Arbitrage(Floyd)
- zoj 1092 Arbitrage
- zoj 1092 && poj 2240 Arbitrage (floyd算法)
- zoj1092-Arbitrage
- zoj 1092 Arbitrage
- zoj 1092 Arbitrage(最短路)
- zoj 1092 Arbitrage
- zoj 1092 Arbitrage
- zoj 1092||poj 2240 Arbitrage( bellman 最短路)
- ZOJ 1092 Arbitrage
- POJ 2240 Arbitrage / ZOJ 1092 Arbitrage / HDU 1217 Arbitrage / SPOJ Arbitrage(图论,环)
- zoj-1092-Arbitrage
- zoj 1092 && oij 2240 Arbitrage
- zoj1092 Arbitrage
- poj2240&zoj1092 Arbitrage(Bellman-Ford)
- zoj 1092 Arbitrage (poj 2240)
- ZOJ 1092 图论中的Floyd算法简单应用