在一个N*N的数组中寻找所有横,竖,左上到右下,右上到左下,四种方向的直线连续D个数字的和里面最大的值
输入描述:
每个测试输入包含1个测试用例,第一行包括两个整数 N 和 D :
3 <= N <= 100
1 <= D <= N
接下来有N行,每行N个数字d:
0 <= d <= 100
输出描述:
输出一个整数,表示找到的和的最大值
输入例子:
4 2
87 98 79 61
10 27 95 70
20 64 73 29
71 65 15 0
输出例子:
输入描述:
每个测试输入包含1个测试用例,第一行包括两个整数 N 和 D :
3 <= N <= 100
1 <= D <= N
接下来有N行,每行N个数字d:
0 <= d <= 100
输出描述:
输出一个整数,表示找到的和的最大值
输入例子:
4 2
87 98 79 61
10 27 95 70
20 64 73 29
71 65 15 0
输出例子:
193
解题:1.先从键盘接收一个二维数组N*N
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int D = sc.nextInt();
int [][] arr= new int[N][N];
for (int i = 0; i < N; i++) {
for(int j = 0; j < N; j++) {
arr[i][j] = sc.nextInt();
}
}
2.四种相加方式 分情况讨论行 ( i为行标,j为列标)