import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int group = sc.nextInt();
int m = 0;
int n = 0;
int[][] arrEle = new int[105][105];
int[][] arrResult = new int[105][105];
int[] temp1 = new int[105];
int[] temp2 = new int[105];
for (int icase = 1; icase <= group; icase++) {
m = sc.nextInt();
n = sc.nextInt();
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
arrEle[i][j] = sc.nextInt();
}
}
for (int i = 0; i < m; i++) {
arrResult[i][0] = temp1[i] = (i == 0 ? 0 : temp1[i - 1]) + arrEle[i][0];
}
for (int j = 1; j < n; j++) {
for (int i = 0; i < m; i++) {
temp1[i] = Math.max(arrResult[i][j - 1], (i - 1 < 0 ? Integer.MIN_VALUE : temp1[i - 1])) + arrEle[i][j];
}
for (int i = m - 1; i >= 0; i--) {
temp2[i] = Math.max(arrResult[i][j - 1], (i + 1 > m - 1 ? Integer.MIN_VALUE : temp2[i + 1])) + arrEle[i][j];
}
for (int i = 0; i < m; i++) {
arrResult[i][j] = Math.max(temp1[i], temp2[i]);
}
}
System.out.println("Case #" + icase + ":");
System.out.println(arrResult[0][n - 1]);
}
}
}
hdu acm 4826
最新推荐文章于 2020-09-26 17:04:27 发布