poj1860 currency exchange(1)

来源:互联网 发布:淘宝网商城女装针织衫 编辑:程序博客网 时间:2024/06/05 22:51

1.又犯了和上一次一模一样的错误,没有把freopen()去掉,WA了一次,

2.将每一种货币所能兑换到的金额视为每一个顶点,每一轮货币交换后,若存在至少一个顶点的金额增加,则存在正权回路使该顶点的金额能无限增加,当该点的金额增加到一定数目时,该点货币兑换为初始顶点的货币金额将会大于原始金额。

3.题目的意思看不懂?用谷歌翻译吧!

#include <span style="font-family: Arial, Helvetica, sans-serif;"><iostream></span>
#include <cstring>#include <cstdio>using namespace std;float allkinds_money[210];int currencies,points,kinds;float sum;struct exch{    int begin;    int end;    float rate;    float commission;}exchange[210];bool change_cur(int i){    float a=(allkinds_money[exchange[i].begin]-exchange[i].commission)*exchange[i].rate;    if(a>allkinds_money[exchange[i].end])    {        allkinds_money[exchange[i].end]=a;        return true;    }    else        return false;}bool go_exchange(){    int i,j,k;    bool flag;    allkinds_money[kinds]=sum;    do    {        flag=false;           //这里给flag赋值false,避免当不存在正权回路时do-while无限循环        for(i=1;i<=2*points;i++)        {            if(change_cur(i))            {                flag=true;                //cout<<i;            }        }        if(allkinds_money[kinds]>sum)           return true;    }while(flag);    return false;}int main(){    //freopen("D:\input.txt","r",stdin);    //freopen("D:\output.txt","w",stdout);    bool increase;    int i,j,a,b;    float r1,c1,r2,c2;    while(cin>>currencies>>points>>kinds>>sum)    {        j=1;    memset(allkinds_money,0,sizeof(allkinds_money));    for(i=1;i<=points;i++)    {        cin>>a>>b>>r1>>c1>>r2>>c2;        exchange[j].begin=a;        exchange[j].end=b;        exchange[j].rate=r1;        exchange[j++].commission=c1;        exchange[j].begin=b;        exchange[j].end=a;        exchange[j].rate=r2;        exchange[j++].commission=c2;    //先前没有换成j++,所以导致循环后j少加了一次    }    increase=go_exchange();    if(increase)    {        cout<<"YES";    }    else        cout<<"NO";    }    return 0;}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孕妇感冒鼻子堵怎么办 孕妇用了眼药水怎么办 孕妇用眼药水了怎么办 错过了登机时间怎么办 过了登机时间怎么办 孩子不喜欢做作业怎么办 宝宝腿不一样粗怎么办 一个小腿肿了怎么办 左右小腿不一样粗怎么办 小孩不敢自己睡怎么办 小孩不一个人睡怎么办 晚上一个人睡觉害怕怎么办 孩子自己睡害怕怎么办 小孩晚上睡觉怕怎么办 小孩分房睡害怕怎么办 坐飞机不认识字怎么办 科目一不识字怎么办 孩子不自己睡觉怎么办 70岁老人坐高铁怎么办 八岁儿童怎么办护照 第一次坐飞机有点紧张怎么办 坐飞机恐高耳鸣怎么办 火车坐过站怎么办 凌晨的火车应该怎么办 高铁坐过一站怎么办 宝宝断奶瘦了怎么办 第一次坐飞机怕晕机怎么办 焦虑症怕坐飞机怎么办 新生宝宝老是哭闹怎么办 宝宝坐飞机后哭闹怎么办 飞机经济舱不支持退票怎么办 证件被单位扣押怎么办 小孩高烧41度怎么办 国际航班未成年托管怎么办手续 如果飞机上发烧怎么办 不到二岁飞机票怎么办 做飞机婴儿票怎么办 公司拖欠报销款怎么办 高考志愿滑档怎么办 中考志愿没录取怎么办 美工30岁以后怎么办