最短路—1008
来源:互联网 发布:运动控制器编程语言 编辑:程序博客网 时间:2024/06/06 12:35
计算汇率,用Floyd,最后检查对角线上的树是不是大于1
#include<stdio.h>#include<string.h>
struct node
{
char name[30];
} c[33];
double map[33][33];
int main()
{
int n,m,i,j,k,cc=0;
while(scanf("%d",&n)&&n!=0)
{
cc++;
for(i=0; i<n; i++)
{
scanf("%s",c[i].name);
map[i][i]=1;
for(j=i+1; j<n; j++)
map[i][j]=map[j][i]=0;
}
scanf("%d",&m);
for(i=0; i<m; i++)
{
char x[30],y[30];
int xx,yy;
double s;
scanf("%s%lf%s",x,&s,y);
for(j=0; j<n; j++)
{
if(strcmp(x,c[j].name)==0)
xx=j;
if(strcmp(y,c[j].name)==0)
yy=j;
}
if(map[xx][yy]<s)
map[xx][yy]=s;
}
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][j]=map[i][k]*map[k][j];
int f=0;
for(i=0; i<n; i++)
if(map[i][i]>1)
{
f=1;
break;
}
if(f==1)
printf("Case %d: Yes\n",cc);
else
printf("Case %d: No\n",cc);
}
return 0;
}
/*
3
USDollar
BritishPound
FrenchFranc
3
USDollar 0.5 BritishPound
BritishPound 10.0 FrenchFranc
FrenchFranc 0.21 USDollar
3
USDollar
BritishPound
FrenchFranc
6
USDollar 0.5 BritishPound
USDollar 4.9 FrenchFranc
BritishPound 10.0 FrenchFranc
BritishPound 1.99 USDollar
FrenchFranc 0.09 BritishPound
FrenchFranc 0.19 USDollar
*/
- 最短路—1008
- 1008 最短路
- 最短路—1001
- 最短路—1002
- 最短路—1003
- 最短路—1004
- 最短路—1005
- 最短路—1006
- 最短路—1007
- 最短路—1009
- 百科—最短路
- 最短路(弗洛伊德——最短路)
- 最短路1008与1009
- 九度1008最短路
- hdu2544——最短路
- 蓝桥杯——最短路
- 最短路——dijkstra
- 最短路——Dijkstra
- RadioGroup组与onCheckedChanged事件
- 关于Unicode 和 UTF-8 的思考
- 从B树中删除关键字
- C#对象诞生记之构造函数都干了啥
- PowerDesigner连接MySQL,建立逆向工程图解
- 最短路—1008
- 基于WCF 的远程数据库服务访问技术
- VS2010中的调试技巧
- <welcome-file-list>404
- POJ 1894 Alternative Scale of Notation
- C++ dlopen mini HOWTO 中译版
- hdu1789
- POJ 1896 Code Formatting
- WCF数据库开发一般分下面几步: