• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 7, comments - 13, trackbacks - 0, articles - 37
               :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理

            [導(dǎo)入]PKU-1860

            Posted on 2008-10-16 15:15 歲月流逝 閱讀(214) 評論(0)  編輯 收藏 引用
            題意 : 就是套匯的問題,匯率Rab, 增加了一個手續(xù)費  Cab 。。。。。。。每次的結(jié)果是  (本金 - 手續(xù)費) * 匯率,而且一個人擁有的錢的類型是已知的,擁有的value 錢的個數(shù)也是已知的, 問你能不能增值。
            輸入 :
            3 2 1 20.0                         //錢種類個數(shù)  匯率的個數(shù),擁有第幾種錢, 擁有多少錢1 2 1.00 1.00 1.00 1.00            //錢a, 錢b, rab, cab, rba, cba2 3 1.10 1.00 1.10 1.00
            算法:判斷有無正環(huán),采用bellman的最大路的松弛法去做.PS:要注意兩個條件的跳出:1.有正環(huán)會不停的松弛,只要>val后叫結(jié)束循環(huán).2.一旦不能循環(huán)了就結(jié)束循環(huán),這是返回dist[s]>val就可以了

            #include<stdio.h>
            #include<memory.h>
            struct node
            {
              int u,v;
              double r,c;
            };
            int n,m,s;
            double val;
            node edge[1001];
            int eg;
            #define eps 1e-8
            bool bellman()
            {
              double dist[102];
              memset(dist,0,sizeof(dist));
              int i;
              int flag = 0;
              dist[s] = val;
              while(dist[s]<=val+eps)
              {
                flag  = 0;
                for(i = 0;i<=eg;i++)
                {
                  if(dist[edge[i].v]+eps<(dist[edge[i].u]-edge[i].c)*edge[i].r)
                  {
                    dist[edge[i].v] = (dist[edge[i].u]-edge[i].c)*edge[i].r;
                    flag=1;
                  }
                }
                if(!flag)
                  return dist[s]>val;
              }
              return true;
            }
            int main()
            {
              int i;
              int a,b;
              double rab, cab, rba ,cba;
              while(scanf("%d %d %d %lf",&n,&m,&s,&val)!=EOF)
              {
                eg  = 0;
                for(i = 0;i<m;i++)
                {
                  scanf("%d %d %lf %lf %lf %lf",&a,&b,&rab,&cab,&rba,&cba);
                  edge[eg].u = a;
                  edge[eg].v = b;
                  edge[eg].r = rab;
                  edge[eg].c = cab;
                  eg++;
                  edge[eg].u = b;
                  edge[eg].v = a;
                  edge[eg].r = rba;
                  edge[eg].c = cba;
                  eg++;
                }
                if(bellman())
                {
                  printf("YES\n");
                }
                else
                {
                  printf("NO\n");
                }
              }
              return 0;
            }

            Tags - , ,
            文章來源:http://www.feng5166.com/blog/read.php?125
            国产精品亚洲综合久久| 66精品综合久久久久久久| 久久婷婷五月综合色99啪ak| 91麻精品国产91久久久久| 久久综合一区二区无码| 色综合久久中文字幕无码| 久久精品视频网| 老男人久久青草av高清| 97超级碰碰碰久久久久| 亚洲国产精品无码久久青草| 性色欲网站人妻丰满中文久久不卡| 久久精品国产99久久无毒不卡| 99久久婷婷国产综合精品草原| 最新久久免费视频| 伊人久久大香线蕉影院95| 中文成人无码精品久久久不卡| 国产精品美女久久久| 久久久久人妻一区二区三区| 久久精品国产亚洲Aⅴ香蕉| 亚洲国产另类久久久精品| 久久久久国产一区二区| 无码人妻精品一区二区三区久久久| 久久亚洲精品中文字幕三区| 一本久久a久久精品亚洲| 久久久久国产一区二区三区| 久久99精品国产| 91久久婷婷国产综合精品青草| 久久人人爽人人爽人人片AV麻烦| 青青青青久久精品国产| 精品久久久无码人妻中文字幕豆芽| 国产精品久久久久久久久久影院 | 麻豆精品久久久一区二区| 思思久久99热只有频精品66| 久久精品成人一区二区三区| 2020最新久久久视精品爱| 久久免费视频观看| 国产精品久久99| 中文字幕一区二区三区久久网站 | 九九久久99综合一区二区| 久久精品国产99久久无毒不卡| 久久99精品久久久久久动态图|