状态
dp [ i ][ j ] 表示从 i 行 j 列结束的最大花生数
状态转移方程
dp [ i ][ j ] = max( dp [ i - 1] [ j ] ,dp[ i ][ j-1]) +1
注意初始化要小心
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <set>
#include <queue>
#include <string.h>
#include <math.h>
#include <stack>
#include <ctype.h>
using namespace std;
int T;
int dp[105][105];
int arr[105][105];
int main()
{
cin >> T;
while( T-- )
{
int R,C;
cin >> R >> C;
memset(arr,0,sizeof(arr));
for( int i = 1; i <= R; i++ )
for( int j = 1; j <= C; j++ )
cin >> arr[i][j];
memset(dp, 0, sizeof(dp));
dp[1][1] &