给定n*m的0,1矩阵,有p次询问,问全部由0构成的a*b大小的子矩阵有多少个. n和m<1000
说是求0的子矩阵,程序实现改为-1的
求和
sum[i][j] 表示矩阵[1-i ][ 1-j ]
O(n^2)暴力枚举每个子矩阵
#include <stdio.h>
#include <string.h>
#define N 1024
int mat[N][N],sum[N][N];
int main()
{
int m,n,p,q,i,j,ii,jj,t,cas = 0;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d%d",&m,&n,&p,&q);
memset(mat,-1,sizeof(mat));
memset(sum,0,sizeof(sum));
int x,y;
while(p--)
{
scanf("%d%d",&x,&y);
mat[x][y] = 0;
}
printf("Case #%d:\n",++cas);
for(i = 1; i <= m; +