zoukankan      html  css  js  c++  java
  • POJ 2948 Martian Mining(DP)

    题目链接

    题意 : n×m的矩阵,每个格子中有两种矿石,第一种矿石的的收集站在最北,第二种矿石的收集站在最西,需要在格子上安装南向北的或东向西的传送带,但是每个格子中只能装一种传送带,求最多能采多少矿。

    思路 :记忆化搜索。也可以用递推

    //2948
    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    
    using namespace std ;
    
    int yeye[510][510] ,blog[510][510] ;
    int dp[510][510] ;
    
    int DP(int row,int col)
    {
        if(row < 0 || col < 0) return 0 ;
        else if(dp[row][col] != -1) return dp[row][col] ;
        else return dp[row][col] = max(DP(row-1,col)+yeye[row][col],DP(row,col-1)+blog[row][col]) ;
    }
    int main()
    {
        int n, m ;
        while(~scanf("%d %d",&n,&m))
        {
            if(n == 0 && m == 0) break ;
            for(int i = 0 ; i < n ; i++)
                for(int j = 0 ; j < m ;j++)
                    scanf("%d",&yeye[i][j]) ;
            for(int i = 0 ; i < n ; i++)
                for(int j = 0 ; j < m ;j++)
                    scanf("%d",&blog[i][j]) ;
            memset(dp,-1,sizeof(dp)) ;
            for(int i = 0 ; i < n ; i++)
                for(int j = 1 ; j < m ; j++)
                yeye[i][j] += yeye[i][j-1] ;
            for(int i = 0 ; i < m ; i++)
                for(int j = 1 ; j < n ; j++)
                blog[j][i] += blog[j-1][i] ;
            printf("%d
    ",DP(n,m)) ;
        }
        return 0 ;
    }
    View Code
  • 相关阅读:
    Window 命令
    HTTP 状态码
    Mysql基本用法-存储引擎-04
    Mysql基本用法-存储引擎-03
    Mysql基本用法-left join、right join、 inner join、子查询和join-02
    Mysql基本用法-01
    二进制编码-详细讲解
    JS操作文件
    PHP5接口技术入门
    PHP5中__get()、__set()方法
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3861164.html
Copyright © 2011-2022 走看看