标签:des style color java os io strong for
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 4484 Accepted Submission(s): 2042
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 0
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#include<map>
#include<string>
using namespace std;
const int MX=1<<30;
double road[35][35],pay[35];
int n;
struct node
{
int s;
double t;
};
bool bfs()
{
int x,i;
for(x=1;x<=n;x++)
{
node a,b;
a.s=x;
a.t=1.0;
memset(pay,0,sizeof pay);
pay[a.s]=a.t;
queue<node>q;
q.push(a);
while(!q.empty())
{
a=q.front();
q.pop();
for(i=1;i<=n;i++)
{
if(road[a.s][i]!=0)
{
b.s=i;
b.t=a.t*road[a.s][i];
if(b.s==x&&b.t>1.0)
{
return true;
}
if(b.t>pay[i])
{
pay[i]=b.t;
q.push(b);
}
}
}
}
}
return false;
}
int main()
{
int tt=1;
while(scanf("%d",&n)!=EOF)
{
getchar();
if(n==0)break;
int i,m;
char g[100],f[100];
map<string,int>cur;
for(i=1;i<=n;i++)
{
gets(g);
cur[g]=i;
}
scanf("%d",&m);
memset(road,0,sizeof road);
double p;
for(i=0;i<m;i++)
{
scanf("%s%lf%s",g,&p,f);
if(road[cur[g]][cur[f]]<p)
{
road[cur[g]][cur[f]]=p;
}
}
/*for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%0.3lf ",road[i][j]);
}
printf("\n");
}*/
printf("Case %d: ",tt++);
if(bfs())
{
printf("Yes\n");
}else{
printf("No\n");
}
}
return 0;
}
HDU1217Arbitrage,布布扣,bubuko.com
标签:des style color java os io strong for
原文地址:http://blog.csdn.net/fljssj/article/details/38554683