zoukankan      html  css  js  c++  java
  • 51nod 1083 矩阵取数问题

    一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下向右走,求能够获得的最大价值。
    例如:3 * 3的方格。
     
    1 3 3
    2 1 3
    2 2 1
     
    能够获得的最大价值为:11。
     

    输入

    第1行:N,N为矩阵的大小。(2 <= N <= 500)
    第2 - N + 1行:每行N个数,中间用空格隔开,对应格子中奖励的价值。(1 <= N[i] <= 10000)

    输出

    输出能够获得的最大价值。

    输入样例

    3
    1 3 3
    2 1 3
    2 2 1

    输出样例

    11

    动态规划水题

    代码:
    #include <iostream>
    #include <cstdlib>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    
    int n,mp[501][501];
    int main() {
        scanf("%d",&n);
        for(int i = 1;i <= n;i ++) {
            for(int j = 1;j <= n;j ++) {
                scanf("%d",&mp[i][j]);
                mp[i][j] += max(mp[i - 1][j],mp[i][j - 1]);
            }
        }
        printf("%d",mp[n][n]);
    }
  • 相关阅读:
    yii中通过HTTP post接收
    网络编程
    python 异常处理
    面向对象(2)
    面向对象
    什么是模块精讲
    常用模块二
    各种推导式详解
    匿名函数
    迭代器生成器
  • 原文地址:https://www.cnblogs.com/8023spz/p/10864692.html
Copyright © 2011-2022 走看看