AcWing 1015. 摘花生Java
原题链接
简单
作者:
guy
,
2021-02-01 20:56:19
,
所有人可见
,
阅读 2
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
while (T--!=0) { // 一直输入
int rows = sc.nextInt(), cols = sc.nextInt();
int[][] arr = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
arr[i][j] = sc.nextInt();
}
}
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (i == 0 && j == 0) continue; // 第一个arr[i][j]等于自己
if (i == 0) // 最上面一排等于自己加上左边的
arr[i][j] += arr[i][j-1];
else if (j == 0) // 最左边一排等于 自己加上 上面一个
arr[i][j] += arr[i-1][j];
else // 否则 看上面和左边这队那个更大
arr[i][j] += Math.max(arr[i-1][j], arr[i][j-1]);
}
}
System.out.println(arr[rows-1][cols-1]);
}
}
}