zoukankan      html  css  js  c++  java
  • poj 1088 滑雪 dp

    http://poj.org/problem?id=1088

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <iostream>
     4 #include <algorithm>
     5 using namespace std;
     6 
     7 int d[102][102],a[102][102];
     8 int dis[4][2]={{0,1},{0,-1},{1,0},{-1,0}};
     9 int n,m;
    10 int ok(int i,int j)
    11 {
    12     if(i>=0&&i<n&&j>=0&&j<m)
    13         return 1;
    14     return 0;
    15 }
    16 
    17 int solve(int x,int y)
    18 {
    19     if(d[x][y]!=-1)
    20         return d[x][y];
    21     d[x][y]=1;
    22     for(int i=0;i<4;i++)
    23     {
    24         int xx,yy;
    25         xx=x+dis[i][0];  yy=y+dis[i][1];
    26         if(ok(xx,yy)&&a[x][y]>a[xx][yy])
    27         {
    28             int temp;
    29             temp=solve(xx,yy)+1;
    30             if(d[x][y]<temp)
    31                 d[x][y]=temp;
    32         }
    33     }
    34     return d[x][y];
    35 }
    36 
    37 int main()
    38 {
    39     while(~scanf("%d%d",&n,&m))
    40     {
    41         for(int i=0;i<n;i++)
    42             for(int j=0;j<m;j++)
    43                 scanf("%d",&a[i][j]);
    44         memset(d,-1,sizeof(d));
    45         int maxx=0;
    46         for(int i=0;i<n;i++)
    47         {
    48             for(int j=0;j<m;j++)
    49                 {
    50                     d[i][j]=solve(i,j);
    51                     if(maxx<d[i][j])
    52                         maxx=d[i][j];
    53                     //printf("%d  ",d[i][j]);
    54                 }
    55            // printf("
    ");
    56         }
    57         printf("%d
    ",maxx);
    58     }
    59     return 0;
    60 }
  • 相关阅读:
    day7 反射
    day7 面向对象进阶
    day7 面向对象class()学习
    day6 subprocess模块、logging模块
    day6 hashlib模块
    day6 ConfigParser模块 yaml模块
    day6 xml文件格式的处理
    day6 shelve模块
    day6 SYS模块
    Servlet的学习之Response响应对象(1)
  • 原文地址:https://www.cnblogs.com/assult/p/3711624.html
Copyright © 2011-2022 走看看