hdu1217
/*
分析:
最短路径,不过这里是乘法、求最大。
注意,因为是乘法,乘数可以大于1、也可以小于1,就等效于边的权值都
是整数的最短路里面,每条边的权值可以有正数、也可以有负数一样。
所以果断不用Dij。第一次写Floyd,一次过哦~
2012-06-05
*/
#include"stdio.h"
#include"string.h"
struct A
{char name[33];
}E[33];
int main()
{double map[31][31];double ans[31][31];double t;char temp[33];int k;int k1,k2;int i,l;int n,m;int Case=1;while(scanf("%d",&n),n){for(i=1;i<=n;i++) scanf("%s",E[i].name);///mapscanf("%d",&m);for(i=1;i<=n;i++)for(l=1;l<=n;l++){if(i==l)map[i][l]=1;else map[i][l]=0;}for(i=1;i<=m;i++){scanf("%s",temp);for(k1=1;k1<=n;k1++) if(strcmp(E[k1].name,temp)==0) break;scanf("%lf",&t);scanf("%s",temp);for(k2=1;k2<=n;k2++) if(strcmp(E[k2].name,temp)==0) break;map[k1][k2]=t;}///ans的初始化for(i=1;i<=n;i++)for(l=1;l<=n;l++)ans[i][l]=map[i][l];///主体for(k=1;k<=n;k++){for(i=1;i<=n;i++)for(l=1;l<=n;l++){if(ans[i][l]1) printf("Case %d: Yes\n",Case);else printf("Case %d: No\n",Case);Case++;}return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
