• <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>

            Sephiroth's boring days!!!

            Love just for you.

            動(dòng)態(tài)規(guī)劃-走迷宮問(wèn)題

            [題目描述]

            有一個(gè)n*n的迷宮,每個(gè)方格里都有著相應(yīng)的數(shù)字。你從左上角出發(fā),每次可以向上下左右四個(gè)方向最多移動(dòng)k格,并且要求你每次到達(dá)的方格里的數(shù)字必須大于上一次所在方格的數(shù)字。現(xiàn)在要求你走過(guò)的方格的所有數(shù)之和最大,問(wèn)這個(gè)最大和是多少。

            [輸入]

            輸入數(shù)據(jù)第一行為兩個(gè)正整數(shù)N、K(1<=N<=100,0<=K<=N)

            接下來(lái)的n行,每行有n個(gè)不超過(guò)integer范圍的整數(shù),表示地圖中的數(shù)。

            [輸出]

            輸出數(shù)據(jù)只有一行,為最大的和。

            [輸入輸出示例]

            輸入(maze.in) 輸出(maze.out)

            3 1 25

            3 6 2

            4 7 9

            2 3 1

            [評(píng)分標(biāo)準(zhǔn)]

            對(duì)于每個(gè)測(cè)試數(shù)據(jù),如果你能夠得出正確的答案,那么你將得到滿分,否則得0分。

            [分析]

            很明顯的動(dòng)態(tài)規(guī)劃,應(yīng)該是從《滑雪》那道題改編而來(lái)的。

              1: #include <stdio.h>
            
              2: #define maxn 110
            
              3: 
            
              4: int a[maxn][maxn];
            
              5: int f[maxn][maxn];
            
              6: int n,ans,k;
            
              7: int xx[4]={0,0,1,-1};
            
              8: int yy[4]={1,-1,0,0};
            
              9: 
            
             10: int find(int x,int y)
            
             11: {
            
             12:     if (f[x][y]) return f[x][y];
            
             13:     int temx,temy;
            
             14:     for (int i=0;i<4;++i)
            
             15:         for (int j=1;j<=k;++j)
            
             16:         {
            
             17:             temx=x+xx[i]*j;
            
             18:             temy=y+yy[i]*j;
            
             19:             if ((temx>0)&&(temx<=n)&&(temy>0)&&(temy<=n))
            
             20:                 if ((a[temx][temy]>a[x][y])&&(find(temx,temy)>f[x][y]))
            
             21:                     f[x][y]=find(temx,temy);
            
             22:         }
            
             23:     f[x][y]+=a[x][y];
            
             24:     return f[x][y];
            
             25: }
            
             26: 
            
             27: int main()
            
             28: {
            
             29:     freopen("maze.in","r",stdin);
            
             30:     freopen("maze.out","w",stdout);
            
             31:     
            
             32:     scanf("%d%d",&n,&k);
            
             33:     for (int i=1;i<=n;++i)
            
             34:         for (int j=1;j<=n;++j)
            
             35:             scanf("%d",&a[i][j]);
            
             36:     printf("%d\n",find(1,1));
            
             37:     return 0;
            
             38: }
            
             39: 

            posted on 2010-08-31 19:52 Sephiroth Lee 閱讀(1461) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 信息奧賽

            free counters
            欧美精品九九99久久在观看| 久久婷婷成人综合色综合| 久久久久亚洲精品中文字幕| 中文成人无码精品久久久不卡 | 亚洲成色WWW久久网站| 国产亚洲欧美成人久久片| 久久亚洲精品无码播放| 少妇久久久久久久久久| 日本加勒比久久精品| 国产精品久久久久影院嫩草| 亚洲七七久久精品中文国产 | 久久99精品国产99久久6男男| 少妇被又大又粗又爽毛片久久黑人 | 久久精品国产久精国产一老狼| 99久久国产热无码精品免费久久久久| 一本一道久久a久久精品综合| 久久99精品国产麻豆婷婷| 久久精品亚洲精品国产色婷| 欧美黑人激情性久久| 老司机午夜网站国内精品久久久久久久久 | 成人综合久久精品色婷婷| Xx性欧美肥妇精品久久久久久 | 精品国产一区二区三区久久蜜臀| 2020久久精品国产免费| 久久久久亚洲av无码专区导航| 99精品久久精品一区二区| 久久亚洲中文字幕精品一区| 中文字幕精品无码久久久久久3D日动漫 | 欧美喷潮久久久XXXXx| 久久人人爽人人爽人人片AV东京热| 亚洲国产精品一区二区久久hs| 久久久久国色AV免费看图片| 精品亚洲综合久久中文字幕| 国产精品久久久香蕉| 国产精品永久久久久久久久久| 午夜欧美精品久久久久久久| 亚洲精品tv久久久久| 久久av高潮av无码av喷吹| 亚洲国产天堂久久综合| 99精品国产99久久久久久97 | 欧美黑人激情性久久|