zoukankan      html  css  js  c++  java
  • rqnoj-396-SY学语文-dp

    纯动态规划。

    注意初始化为-INF

    #include<stdio.h>
    #include<algorithm>
    #include<iostream>
    #include<string.h>
    #define INF 99999999
    #define max3(a,b,c) max(max(a,b),c)
    using namespace std;
    int n,m,i,j;
    int map[1010][1010];
    int dp[1010][1010];
    int main()
    {
        while(~scanf("%d%d",&n,&m))
        {
            for(i=1;i<=n;i++)
            {
                for(j=1;j<=m;j++)
                {
                    scanf("%d",&map[i][j]);
                }
            }
            if(map[1][1]==-1)
            {
                cout<<"cannot arrive."<<endl;
                continue;
            }
            for(i=1;i<=n;i++)
                for(j=1;j<=m;j++)dp[i][j]=-INF;
            dp[1][1]=map[1][1];
            for(i=1;i<=n;i++)
            {
                for(j=1;j<=m;j++)
                {
                    if(map[i][j]==-1)continue;
                    if(i-1>=1&&j-2>=1&&map[i-1][j-2]!=-1)
                    {
                        dp[i][j]=max(dp[i][j],dp[i-1][j-2]+map[i][j]);
                    }
                    if(i-2>=1&&j-1>=1&&map[i-2][j-1]!=-1)
                    {
                        dp[i][j]=max(dp[i][j],dp[i-2][j-1]+map[i][j]);
                    }
                }
            }
            int maxx;
            maxx=0;
            for(i=1;i<=n;i++)maxx=max(maxx,dp[i][m]);
            for(i=1;i<=m;i++)maxx=max(maxx,dp[n][i]);
            if(maxx<=0)cout<<"cannot arrive."<<endl;
            else cout<<maxx<<endl;
        }
        return 0;
    }
    


  • 相关阅读:
    vue-amap地图组件的使用
    数据分析
    爬虫之scrapy框架
    爬虫之selenium
    记录一下最近的pwn
    内核提权姿势笔记
    CVE-2016-5343分析
    CVE-2015-8660分析
    Docker远程访问get(root)shell姿势
    Linux内核ROP学习
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3429251.html
Copyright © 2011-2022 走看看