题意:给你一个rxc的矩阵,其中有n个特殊的点,问有多少个子矩阵可以满足特殊的点大于等于k
思路:由于数据只有10....所以xib做就好
#include <cstdio>
#include <queue>
#include <cstring>
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <map>
#include <string>
#include <set>
#include <ctime>
#include <cmath>
#include <cctype>
using namespace std;
#define maxn 100000
#define LL long long
int cas=1,T;
int a[12][12];
int r,c,n,k;
int check(int x,int x1,int y,int y1)
{
int ans = 0;
for (int i = x;i<=x1;i++)
for (int j = y;j<=y1;j++)
if (a[i][j])
ans++;
return ans;
}
int main()
{
while (scanf("%d%d%d%d",&r,&c,&n,&k)!=EOF)
{
for (int i = 1;i<=n;i++)
{
int x,y;
scanf("%d%d",&x,&y);
a[x][y]=1;
}
int ans = 0;
for (int i = 1;i<=r;i++)
for (int j = i;j<=r;j++)
for (int ii=1;ii<=c;ii++)
for (int jj = ii;jj<=c;jj++)
if (check(i,j,ii,jj)>=k)
ans++;
printf("%d\n",ans);
}
//freopen("in","r",stdin);
//scanf("%d",&T);
//printf("time=%.3lf",(double)clock()/CLOCKS_PER_SEC);
return 0;
}