代码如下
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int a = sc.nextInt();
int b = sc.nextInt();
int[][] matrix = new int[n][m];
int sum = 0;
// 传入矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
matrix[i][j] = sc.nextInt();
}
}
for (int j = 0; j <= m - b; j++) { // 列索引
for (int i = 0; i <= n - a; i++) { // 行索引
ArrayList<Integer> t = new ArrayList<>();
// 构建子矩阵
for (int row = i; row < i + a; row++) {
for (int col = j; col < j + b; col++) {
t.add(matrix[row][col]);
}
}
// 对子矩阵进行排序
Collections.sort(t);
// 计算部分值
sum += t.get(0) * t.get(t.size() - 1);
}
}
System.out.println(sum%998244353);
}
}