list1234 发表于 2017-12-8 18:28:30

poj1860Currency Exchange

#include <iostream>
#include <cstring>
#include <stdio.h>
using namespace std;

int n,m,s,all;
double v;
double dis;
class exchange_point
{
public:
   int a,b;
   double r,c;
}point;
bool BF()
{
   memset(dis,0,sizeof(dis));
   dis=v;
   bool flag;
   for(int i=1;i<=n-1;i++)
   {
         flag=false;
         for(int j=0;j<all;j++)
         {
             if(dis.b]<(dis.a]-point.c)*point.r)
             {
               dis.b]=(dis.a]-point.c)*point.r;
               flag=true;
             }
         }
         if(flag==false)
             break;
   }
         for(int k=0;k<all;k++)
         {
             if(dis.b]<(dis.a]-point.c)*point.r)
             {
               return true;
             }
         }
         return false;
}
int main()
{
   double rab,cab,rba,cba;
   int a,b;
   while(~scanf("%d%d%d%lf",&n,&m,&s,&v))
   {
         all=0;
         for(int i=0;i<m;i++)
         {
             cin>>a>>b>>rab>>cab>>rba>>cba;
             point.a=a;
             point.b=b;
             point.r=rab;
             point.c=cab;
             point.a=b;
             point.b=a;
             point.r=rba;
             point.c=cba;
         }
         if(BF())
             printf("YES\n");
         else
             printf("NO\n");
   }
   return 0;
}
页: [1]
查看完整版本: poj1860Currency Exchange