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

    基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
     收藏
     关注
    一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下向右走,求能够获得的最大价值。
    例如:3 * 3的方格。

    1 3 3
    2 1 3
    2 2 1

    能够获得的最大价值为:11。
    Input
    第1行:N,N为矩阵的大小。(2 <= N <= 500)
    第2 - N + 1行:每行N个数,中间用空格隔开,对应格子中奖励的价值。(1 <= N[i] <= 10000)
    Output
    输出能够获得的最大价值。
    Input示例
    3
    1 3 3
    2 1 3
    2 2 1
    Output示例
    11


    题意:中文

    思路:简单dp 


    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int map[510][510],dp[510][510];
    int main()
    {
    	int n,i,j;
    	while(scanf("%d",&n)!=EOF)
    	{
    		for(i=0;i<n;++i)
    		{
    			for(j=0;j<n;++j)
    				scanf("%d",&map[i][j]);
    		}
    		memset(dp,0,sizeof(dp));
    		dp[0][0]=map[0][0];
    		for(i=0;i<n;++i)
    		{
    			for(j=0;j<n;++j)
    				dp[i][j]=max(dp[i-1][j],dp[i][j-1])+map[i][j];
    		}
    		printf("%d
    ",dp[n-1][n-1]); 
    	}
    	return 0; 
    } 




  • 相关阅读:
    LocalDate、LocalTime、LocalDateTime示例
    Instant时间戳示例
    Mybatis面试题
    SpringMVC面试题
    Spring面试题
    redis面试题
    计算机网络面试题
    java集合面试题
    java基础面试题
    MySQL面试题汇总
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387298.html
Copyright © 2011-2022 走看看