import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static int searchMax(int x, int y ,int n,int m,int dp[][]) {
// 只能找该值右边3个位置以及三个位置以内的数的最大值,即只能走3步
int max = Integer.MIN_VALUE;
for(int i = x ;i<= n; i ++) {
for(int j = y; j <= m; j ++) {
if(i == x && j == y)
continue;
if(max < dp[i][j]) {
max = dp[i][j];
}
}
}
if(max == Integer.MIN_VALUE) {
max = 0;
}
return max;
}
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int m = scan.nextInt();
int dp[][] = new int[n+1][m+1];
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
dp[i][j] = scan.nextInt();
}
}
for(int i = n; i >=1 ; i --) {
for(int j = m ; j >= 1; j -- ) {
dp[i][j] += searchMax(i,j,n,m,dp);
}
}
// for (int i = 1; i <= n; i++) {
// for (int j = 1; j <= m; j++) {
// System.out.print(dp[i][j]+" ");
// }
// System.out.println();
// }
System.out.println(dp[1][1]);
}
}
蓝桥杯每日一题(跳跃)
于 2022-11-19 23:04:34 首次发布