探索地块建立
public static void main(String[] args) {
int num=0;
Scanner sc = new Scanner(System.in);
String[] s = sc.nextLine().split(" ");
int n = Integer.valueOf(s[0]);
int m = Integer.valueOf(s[1]);
//二维前缀和,为了方便写程序,给前缀和矩阵加上两个为0的边
int[][] earth=new int[n+1][m+1];
int c = Integer.valueOf(s[2]);
int k = Integer.valueOf(s[3]);
for (int i = 0; i < n; i++) {
String[] s1 = sc.nextLine().split(" ");
for (int i1 = 0; i1 < s1.length; i1++) {
earth[i+1][i1+1]=Integer.valueOf(s1[i1])+earth[i][i1+1]+earth[i+1][i1]-earth[i][i1];
}
}
//数组从[1][1]位置开始查找
for (int i = 1; (i+c-1) < earth.length; i++) {
for (int j = 1; (j+c-1) < earth[i].length; j++) {
int add=earth[i+c-1][j+c-1]-earth[i-1][j+c-1]-earth[i+c-1][j-1]+earth[i-1][j-1];
if (add>=k){
num++;
}
}
}
System.out.println(num);
}