练习一下二维前缀和!!!
链接:1.统计子矩阵 - 蓝桥云课 (lanqiao.cn)
过百分之70暴力法:
import java.util.Scanner;
public class Test06 {
static int N=510;
static int[][]g=new int[N][N];
static int[][]s=new int[N][N];
static int res=0;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int m=sc.nextInt();
int K=sc.nextInt();
for (int i=1;i<=n;i++){
for (int j = 1; j <=m ; j++) {
g[i][j]=sc.nextInt();
s[i][j]=s[i][j-1]+s[i-1][j]-s[i-1][j-1]+g[i][j];
}
}
//枚举矩阵;
for (int i = 1; i <=n ; i++) {
for (int j = 1; j <=m ; j++) {
for (int k = i; k <=n ; k++) {
for (int l = j; l <=m ; l++) {
if(s[k][l]-s[k][j-1]-s[i-1][l]+s[i-1][j-1]<=K)
res++;
}
}
}
}
System.out.println(res);
}
}
过百分之100双指针优化
以后补!!!