首页 > 其他分享 >1817 花生地

1817 花生地

时间:2024-08-23 15:22:14浏览次数:9  
标签:1817 int cin 花生 else dp 105

描述

童童回老家游玩,帮助奶奶摘花生,来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。童童只能向东或向南走,不能向西或向北走。问童童最多能够摘到多少颗花生。

98a3921e46ee44b3969ddcc6dfb3a91e.png

输入描述

第一行是一个整数 T,代表一共有多少组数据。1≤T≤100
接下来是 T 组数据。
每组数据的第一行是两个整数,分别代表花生苗的行数 n 和列数 m (1≤n,m≤100)
每组数据的接下来 n 行数据,从北向南依次描述每行花生苗的情况。每行数据有 m 个整数,按从西向东的顺序描述了该行每株花生苗上的花生数目 c(0≤c≤1000)。

输出描述

输出只有一行,为童童能摘到得最多的花生颗数。

样例输入 1 

2
2 2
1 1
3 4
2 3
2 3 4
1 6 5

样例输出 1 

8
16

#include<iostream>
using namespace std;
int a[105][105],n,x,y;
int dp[105][105];
int main(){
    cin>>n;
    while(n--){
        cin>>x>>y;
        for(int i=1;i<=x;i++){
            for(int j=1;j<=y;j++){
                cin>>a[i][j];
            }
            
        }
        for(int i=1;i<=x;i++){
            for(int j=1;j<=y;j++){
                if(x==1) dp[i][j]=dp[i][j-1]+a[i][j];
                else if(y==1) dp[i][j]=dp[i-1][j]+a[i][j];
                else dp[i][j]=max(dp[i-1][j],dp[i][j-1])+a[i][j];
            }
        }
        cout<<dp[x][y]<<endl;
    }
    return 0;
}

空间优化版如下

#include<iostream>
using namespace std;
int a[105][105],n,x,y;
int dp[105];
int main(){
    cin>>n;
    while(n--){
        cin>>x>>y;
        for(int i=1;i<=x;i++){
            for(int j=1;j<=y;j++){
                cin>>a[i][j];
            }
            
        }
        for(int i=1;i<=x;i++){
            for(int j=1;j<=y;j++){
                if(i==1) dp[j]=dp[j-1]+a[i][j];
                else if(j==1) dp[j]=dp[j]+a[i][j];
                else dp[j]=max(dp[j],dp[j-1])+a[i][j];
            }
        }
        cout<<dp[y]<<endl;
    }
    return 0;
}

标签:1817,int,cin,花生,else,dp,105
From: https://blog.csdn.net/2401_86852582/article/details/141428698

相关文章

  • 内网穿透公众号开本地nginx发环境配置(花生壳和量子互联)
    昨天搞了一天,这儿总结一下,免得以后忘了 nginx收入80端口  所以穿透的工具局域网设80    其它端口根据软件应用配置花生壳的通道要选https  量子互联的话tcp配置启动https就可以nginx 我用1.24没有能成功  1.20成功了,不知道啥原因nginx配置时注意全文,都......
  • Apache历理 贝锐花生壳的下载及使用
    下载地址:https://hsk.oray.com/使用方法如下:第一步:进入贝锐花生壳的内网穿透的页面第二步:选择映射协议映射协议https第三步:输入外网域名,默认端口443第四步:输入内网域名:192.168.1.160,默认端口80第五步:提交后诊断映射通过就可正常访问效果图:......
  • ABX盲听测试指南.18176383
    本次测试旨在测试人类对不同品质的音源的敏感程度,在本次测试中我们会测试:128kbps和320kbps的mp3能否听出区别320kbps的mp3和flac能否听出区别本次测试针对如下人群:普通人、发烧友、职业音频从业者(受过专业听音训练)、音频爱好者本次测试所需工具和音源:https://wwp.lanzouo.......
  • Raft论文阅读笔记.18171971
    本文是对Raft论文阅读后的一些核心内容总结原论文:InSearchofanUnderstandableConsensusAlgorithm(ExtendedVersion)Raft概览Raft论文中用几个表格给出了Raft的细节概览,这里不用仔细阅读,后面学习的时候会慢慢深刻的理解这些内容server持有的状态RPC原语server规......
  • CF1817A Almost Increasing Subsequence 题解
    题面。2023.5.18修正关于前缀和数组的说法,与代码适配的思路。题意给定长度为\(n\)一个序列\(a\)以及\(q\)次询问,每次询问给出\(l\)和\(r\),要求找出序列\(a\)在\([l,r]\)内最长的几乎递增子序列。对于几乎递增的定义:如果一个序列中不存在连续的三个数\(x\),\(y\)......
  • 关于如何在长三角地区的自家菜园成功种植花生的主题式研究
    一、课题分解我的OKR很简单,就一句话:在仅有一块不到一亩的自有菜园内,按照科学的方式方法进行花生种植,成功达成业内平均产量。为了达成这个目标,需要分解出以下几个具体的KR:做好选种、育种工作遵循正确的时令推进正确的农事活动做好过程管理,在作物生长的若干关键时间节点完......
  • Docker 实现类似花生壳动态域名解析
    前置条件准备工作  一,腾讯云注册的域名  二,运行Docker的服务器(我这使用的绿联云DX4600)  三,家用电信宽带,公网IP可以打客服电话申请  1.  首先申请个域名,各大云平台一般都有渠道,不备案也可以用,以下是腾讯云域名注册链接腾讯云官网 2.域名到手......
  • linux安装花生壳,内网穿透
    1,官网下载linux版本的花生壳,命令:wget"https://dl.oray.com/hsk/linux/phddns_5.3.0_amd64.deb"-Ophddns_5.3.0_amd64.deb或者去官网下载deb包。2,解压,安装:dpkg-iphddns_5.3.0_amd64.deb3,运行:sudophddnsstart4,查看phddns的状态:sudophddnsstatus打开花生壳web链......
  • [Codeforces] CF1817A Almost Increasing Subsequence
    CF1817AAlmostIncreasingSubsequence题意给定长度为\(n\)一个序列\(a\)以及\(q\)次询问,每次询问给出\(l\)和\(r\),找出序列\(a\)在\([l,r]\)内最长的几乎递增子序列。对于几乎递增的定义:如果一个序列中不存在连续的三个数\(x\),\(y\),\(z\),使得\(x\gey\ge\......
  • centos系统安装花生壳
    首先下载安装包wget"https://dl.oray.com/hsk/linux/phddns_5.3.0_amd64.rpm"-Ophddns_5.3.0_amd64.rpm 查看 安装rpm-ivhphddns_5.3.0_amd64.rpm 在红线下面列出的是你的sn码,就是登录账号,还有密码浏览器输入http://b.oray.com  下面就是......