码迷,mamicode.com
首页 > 其他好文 > 详细

poj2240

时间:2015-08-19 20:36:10      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:

链接:点击打开链接

题意:有一些钱的汇率,看是否有一种钱经过兑换能够产生利润

代码;

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
using namespace std;
double dis[300][300];
int n,m;
struct node{
    char str[500];
}s[500];
int cmp(struct node a,struct node b){
    return strcmp(a.str,b.str)<0;
}
int binsearch(char *temp){
    int low,high,mid;
    low=1;high=n;
    while(low<=high){
        mid=(low+high)/2;
        if(strcmp(s[mid].str,temp)==0)
        return mid;
        else if(strcmp(s[mid].str,temp)>0)
        high=mid-1;
        else if(strcmp(s[mid].str,temp)<0)
        low=mid+1;
    }
}                                   //二分查找字符串位置
void floyd(){
    int i,j,k;
    for(k=1;k<=n;k++)
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    dis[i][j]=max(dis[i][j],dis[i][k]*dis[k][j]);
}                                   //floyd算法模板
int main(){                         //求有向图最大环              
    char temp[500];
    int i,j,a,b,cur,sign;
    double c;
    cur=1;
    while(scanf("%d",&n)!=EOF&&n){
        for(i=1;i<=n;i++)
        for(j=1;j<=n;j++){
            if(i==j)
            dis[i][j]=1;            //i,j相等时要将dis数组值赋为1            
            else
            dis[i][j]=0;
        }
        for(i=1;i<=n;i++)
        cin>>s[i].str;
        sort(s+1,s+n+1,cmp);
        scanf("%d",&m);
        for(i=0;i<m;i++){
            cin>>temp;
            a=binsearch(temp);
            cin>>c;
            cin>>temp;
            b=binsearch(temp);
            dis[a][b]=c;            //找出a,b位置后赋值
        }
        floyd();
        sign=0;
        for(i=1;i<=n;i++)
        if(dis[i][i]>1){            //找出换完后大于1的    
        sign=1;
        break;
        }
        if(sign)
        printf("Case %d: Yes\n",cur++);
        else
        printf("Case %d: No\n",cur++);
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

poj2240

标签:

原文地址:http://blog.csdn.net/stay_accept/article/details/47784657

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!