题目:摘花生
思路:
可以滚动数组优化下。
转移方程 f[j]=max(f[j],f[j-1])+a[i][j]
代码:
#include<bits/stdc++.h>
using namespace std;
#define maxn 100
int n,m;
int f[maxn+5];
int main() {
int T;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
memset(f,0,sizeof(f));
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
int x;
scanf("%d",&x);
f[j]=max(f[j],f[j-1])+x;
}
}
printf("%d\n",f[m]);
}
return 0;
}