<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 147  文章 - 71  trackbacks - 0
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(1)

    隨筆分類(146)

    隨筆檔案(147)

    文章分類(28)

    文章檔案(28)

    喜歡的Blog

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    http://acm.pku.edu.cn/JudgeOnline/problem?id=1088
    【題意簡述】
    給出矩陣地圖,值為高度,找一條最長的高度遞減的路徑。
    【分析】
    動(dòng)態(tài)記憶遞歸搜索,在遞歸最底層求出最優(yōu)解,記錄,自底向上的方式求出最優(yōu)解。
    import java.util.*;
    import java.io.*;

    public class poj_1088{
        
        
    public static int R,C;
        
    public static int[][] m=new int[100][100];
        
    public static int[][] Count=new int[100][100];
        
    public static int[] dx={0,0,1,-1};
        
    public static int[] dy={1,-1,0,0};
        
        
    // 判斷下標(biāo)是否越界
        public static boolean is_ok(int i,int j){
            
    if(i>=0 && i<&& j>=0 && j<C)
                
    return true;
            
    else
                
    return false;
        }


        
    public static int dp(int loci,int locj){
            
    int i,tempi,tempj,temp,max=0;
            
    if(Count[loci][locj]!=0)
                
    return Count[loci][locj];
            
    for(i=0;i<4;i++){
                tempi
    =loci+dx[i];
                tempj
    =locj+dy[i];
                
    if(is_ok(tempi,tempj) && m[tempi][tempj]<m[loci][locj]){
                    temp
    =dp(tempi,tempj);
                    max
    =max>temp?max:temp;
                }

            }

            Count[loci][locj]
    =max+1;
            
    return max+1;
        }


        
    public static void main(String rgs[]) throws Exception
        
    {
            Scanner cin 
    = new Scanner(new BufferedInputStream(System.in));
            
    int i,j,max=0,temp;          
            R 
    = cin.nextInt();
            C 
    = cin.nextInt();
            
    for(i=0;i<R;i++){
                
    for(j=0;j<C;j++)
                    m[i][j] 
    = cin.nextInt();
                Arrays.fill(Count[i],
    0);
             }
            
            
    for(i=0;i<R;i++){
                
    for(j=0;j<C;j++){
                    temp
    =dp(i,j);
                    max
    =max>temp?max:temp;
                }

            }

            System.out.println(max);
        }

    }
    posted on 2009-09-01 15:57 飛翔天使 閱讀(1646) 評(píng)論(0)  編輯  收藏 所屬分類: poj
    主站蜘蛛池模板: 亚洲免费网站在线观看| 国产成人亚洲精品电影| 久久国产精品免费| 蜜臀91精品国产免费观看| 亚洲国产香蕉碰碰人人| 午夜在线亚洲男人午在线| 国产成人精品免费视频大全麻豆| 国产成人精品日本亚洲专区61 | 中文字幕免费在线看线人 | 日韩免费视频网站| 亚洲视频免费在线看| 国产中文字幕在线免费观看| 日韩中文无码有码免费视频| 亚洲国产品综合人成综合网站| 你是我的城池营垒免费看| 免费国产人做人视频在线观看| 2017亚洲男人天堂一| 无码日韩精品一区二区三区免费 | 污视频网站在线观看免费| 拨牐拨牐x8免费| 91亚洲国产在人线播放午夜| 精品国产污污免费网站入口在线| 国产免费变态视频网址网站| 中文字幕亚洲综合小综合在线| 蜜桃成人无码区免费视频网站| 丁香五月亚洲综合深深爱| 黄色大片免费网站| 日本媚薬痉挛在线观看免费| 亚洲在成人网在线看| 59pao成国产成视频永久免费| 亚洲高清在线视频| a毛片在线免费观看| 久久亚洲国产精品五月天婷| 老司机精品视频免费| 国产传媒在线观看视频免费观看 | 亚洲精彩视频在线观看| 无码国产精品一区二区免费vr| 亚洲人成网77777色在线播放| 一个人看的在线免费视频| heyzo亚洲精品日韩| 免费视频精品一区二区|