青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品



May the force be with you!
posts - 52,  comments - 33,  trackbacks - 0

題目描述:
        有一棟樓有N(1<=N<=100)層,每層房間有M個房間(1<=M<=500)。每間房間有一個訪問開銷。從一個房間可以到其周邊(上一層同一號,同一層左右兩間)。現在要從一樓開始一直訪問到頂樓,問怎樣走可以獲得最小的訪問開銷?

解題思路:
      雙向DP。從一樓到頂樓依次計算從底樓到某一間房子的最小開銷。
      技巧點:對于某一層,先計算從下一層或左邊向右走的最小開銷,再嘗試從右邊走到左邊,看是不是開銷可以變小,是則更新。

程序代碼:

 

  1 /*********************************************************************
  2 Author: littlekid
  3 Created Time: 2008-1-15 9:31:18
  4 Problem Source: 
  5 Description: 
  6     中間WA了兩次,查了很久,
  7     最后發現題目描述的是最多M層,每層最多N間房,原來弄反了!是個不小的教訓
  8 ********************************************************************/
  9 
 10 # include <iostream>
 11 using namespace std;
 12 
 13 # define MAX 2000000005
 14 # define N 555
 15 # define M 111
 16 
 17 int n,m;
 18 long fee[ M ][ N ], f[ M ][ N ];;
 19 int road[ M ][ N ];
 20 
 21 void init()
 22 {
 23     scanf( "%d %d"&n, &m );
 24     for ( int i = 1; i <= n; i ++ )
 25     {
 26         for ( int j = 1; j <= m; j ++ )
 27         {
 28             scanf( "%d"&fee[ i ][ j ] );
 29         }
 30     }
 31 }
 32 
 33 void output()
 34 {
 35     int min = MAX, s = 1;
 36     for ( int i = 1; i <= m; i ++ )
 37     {
 38         if ( f[ n ][ i ] < min )
 39         {
 40             min = f[ n ][ i ];
 41             s = i;
 42         }
 43     }
 44     int step[ n*m+1 ];
 45     step[0= s; s=0;
 46     int floor = n;
 47     while ( floor > 1 )
 48     {
 49           s ++;
 50           step[ s ] = road[ floor ][ step[s-1] ];
 51           if ( step[ s ] == step[ s-1 ] )  floor --;
 52     }
 53     
 54     for ( int i = s; i >= 0; i -- )
 55     {
 56         printf( "%d\n", step[ i ] );
 57     }
 58 }
 59 
 60 void dp()
 61 {
 62     int tmp;
 63     for ( int i = 1; i <= m; i ++ )
 64     {
 65         road[1][ i ] = i;
 66         f[1][ i ] = fee[1][ i ];
 67     }
 68     for ( int floor = 2; floor <= n; floor ++ )
 69     {
 70         f[ floor ][1= f[ floor-1 ][ 1 ] + fee[ floor ][ 1 ];
 71         road[ floor ][1= 1;
 72         
 73         for ( int i = 2; i <= m; i ++ )
 74         {
 75             f[ floor ][ i ] = fee[ floor ][ i ];
 76             if ( f[ floor ][ i-1 ] < f[ floor-1 ][ i ] )
 77             {
 78                 f[ floor ][ i ] += f[ floor ][ i-1 ];
 79                 road[ floor ][ i ] = i-1;
 80             }
 81             else
 82             {
 83                 f[ floor ][ i ] += f[ floor-1 ][ i ];
 84                 road[ floor ][ i ] = i;
 85             }
 86         }
 87         
 88         for ( int i = m-1; i > 0; i -- )
 89         {
 90             tmp = f[ floor ][ i+1 ] + fee[ floor ][ i ];
 91             if ( tmp < f[ floor ][ i ] )
 92             {
 93                 f[ floor ][ i ] = tmp;
 94                 road[ floor ][ i ] = i+1;
 95             }
 96         }
 97     }
 98 }
 99 
100 int main()
101 {
102     int n,m;
103     init();
104     dp();
105     output();
106     return 0;
107 }
108 
109 


 

posted on 2008-01-15 11:10 R2 閱讀(517) 評論(0)  編輯 收藏 引用 所屬分類: Problem Solving
你是第 free hit counter 位訪客




<2007年11月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用鏈接

留言簿(4)

隨筆分類(54)

隨筆檔案(52)

文章檔案(1)

ACM/ICPC

技術綜合

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 64560
  • 排名 - 357

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧洲精品一区二区三区波多野1战4| 亚洲女女做受ⅹxx高潮| 亚洲伦伦在线| 亚洲美女精品一区| 一区二区三区.www| 亚洲欧美国产制服动漫| 亚洲欧洲av一区二区| 欧美在线视频全部完| 久久亚洲不卡| 国产视频久久久久| 国产精品美女诱惑| 国产日韩欧美一区二区三区在线观看| 国产欧美亚洲视频| 精品1区2区3区4区| 99国产一区二区三精品乱码| 亚洲综合视频网| 裸体歌舞表演一区二区| 亚洲精品欧洲| 先锋影音久久久| 欧美高清视频一二三区| 国产精品久久久久久av福利软件 | 蜜臀a∨国产成人精品| 亚洲国产精品第一区二区三区| 久久久夜精品| 亚洲日本乱码在线观看| 亚洲欧美一区二区原创| 蜜桃av一区二区| 国产精品欧美精品| 亚洲精品乱码久久久久久久久| 亚洲欧美日韩国产综合在线| 久久久久久久久久码影片| 亚洲黑丝在线| 久久久精品国产99久久精品芒果| 欧美激情一区二区三区四区| 国产一区二区三区高清| 一区二区三区成人| 鲁大师影院一区二区三区| 亚洲视屏在线播放| 欧美激情视频一区二区三区在线播放 | 一本色道久久综合亚洲精品高清 | 亚洲欧洲日产国产综合网| 亚洲欧美在线视频观看| 亚洲国产精品女人久久久| 欧美在线视频观看| 国产欧美日韩综合一区在线观看| 日韩一级免费观看| 欧美成人按摩| 久久精品国产免费看久久精品| 国产精品日韩久久久久| 在线综合视频| 亚洲精品视频中文字幕| 欧美freesex8一10精品| 在线播放亚洲| 男女av一区三区二区色多| 亚洲欧美综合精品久久成人| 欧美午夜a级限制福利片| 一区二区免费在线视频| 亚洲精品国产精品国自产在线| 麻豆精品视频在线观看| 亚洲国产精品一区二区第一页| 六月天综合网| 亚洲毛片av| 欧美精品日韩www.p站| 亚洲激情图片小说视频| 亚洲福利视频网| 欧美成人一区二区三区片免费| 亚洲国产第一页| 亚洲高清视频一区| 欧美日韩久久久久久| 亚洲一区二区三区在线视频| av不卡在线观看| 国产精品美女久久| 欧美在线精品免播放器视频| 久久aⅴ国产欧美74aaa| 亚洲大胆人体在线| 91久久在线视频| 欧美视频不卡中文| 欧美在线观看视频| 久久久久久久尹人综合网亚洲| …久久精品99久久香蕉国产 | 国产女主播一区二区三区| 午夜激情综合网| 一区二区三区回区在观看免费视频| 欧美成人综合| 一区二区三区欧美亚洲| 欧美在线视频免费| 久久深夜福利免费观看| 国产农村妇女毛片精品久久麻豆| 久久久免费精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩视频亚洲视频| 午夜日韩电影| 亚洲精品视频一区| 午夜精品区一区二区三| 亚洲日本电影在线| 性8sex亚洲区入口| 99视频热这里只有精品免费| 午夜精品福利一区二区蜜股av| 亚洲国产精品小视频| 亚洲一区网站| 亚洲理伦电影| 久久大综合网| 午夜日韩av| 欧美日韩精品一区视频| 久久婷婷国产综合尤物精品| 欧美日韩亚洲综合一区| 欧美1区视频| 国产精品一区二区在线| 91久久精品久久国产性色也91| 国产午夜精品久久| 亚洲视频一区在线观看| 日韩亚洲欧美成人| 久久在线91| 久久精品最新地址| 国产精品毛片va一区二区三区 | 激情综合五月天| 中文精品一区二区三区 | 欧美在线视屏| 亚洲夜晚福利在线观看| 免费视频最近日韩| 久久综合精品国产一区二区三区| 欧美性大战久久久久久久蜜臀| 欧美电影免费观看高清| 国产在线高清精品| 欧美一级欧美一级在线播放| 亚洲一区二区3| 欧美日韩国产麻豆| 欧美~级网站不卡| 在线免费一区三区| 久久精品亚洲精品| 久久久夜色精品亚洲| 国产视频一区在线观看| 一区二区不卡在线视频 午夜欧美不卡在 | 一区二区激情小说| 一区二区三区产品免费精品久久75 | 国产精品99久久久久久久久 | 国产精品xvideos88| 亚洲精品自在久久| 夜夜嗨av一区二区三区中文字幕| 免费视频一区| 亚洲毛片网站| 亚洲自拍偷拍网址| 国产精品五区| 欧美一区二区三区喷汁尤物| 久久精品91| 一区精品在线| 老司机aⅴ在线精品导航| 欧美福利网址| 99精品视频免费观看视频| 欧美日韩成人激情| 亚洲午夜精品一区二区| 久久岛国电影| 亚洲第一区在线观看| 欧美国产一区视频在线观看| 亚洲精品免费看| 亚洲伊人久久综合| 国产日韩在线一区| 久久久久国产精品午夜一区| 欧美高清视频在线播放| 日韩一区二区精品视频| 欧美三级精品| 欧美资源在线观看| 亚洲国产另类久久精品| 亚洲自拍电影| 在线看视频不卡| 欧美日韩一区二区在线视频 | 欧美大香线蕉线伊人久久国产精品| 日韩视频久久| 国产精品一页| 久热精品视频在线免费观看| 亚洲精品国产拍免费91在线| 午夜欧美精品| 亚洲精品在线一区二区| 国产乱肥老妇国产一区二 | 久久精品网址| 最新国产の精品合集bt伙计| 欧美日韩一级大片网址| 羞羞色国产精品| 欧美激情视频一区二区三区在线播放| 99亚洲视频| 好看不卡的中文字幕| 欧美激情精品久久久久| 午夜精品久久久久久久久久久久 | 日韩视频中文| 国产一区二区电影在线观看| 欧美承认网站| 欧美专区日韩视频| 亚洲私人影吧| 亚洲电影观看| 久久riav二区三区| 一本色道久久综合狠狠躁的推荐| 国外成人性视频| 欧美香蕉大胸在线视频观看| 免费亚洲电影在线| 久久精品成人一区二区三区| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 欧美专区在线| 99精品免费网| 精品成人在线| 国产精品欧美激情|