代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,L,S;
cin>>n>>L>>S;
int A[1001][2];
int B[100][100];
for(int i=1;i<=n;i++){
int x,y;
cin>>x>>y;
A[i][0]=x;
A[i][1]=y;
}
for(int i=S;i>=0;i--){
for(int j=0;j<=S;j++){
cin>>B[i][j];
}
}
int ans=0;
for(int i=1;i<=n;i++){
if(A[i][0]+S>L||A[i][1]+S>L){
continue;
}
int temp[100][100];
for(int x=S;x>=0;x--){
for(int y=0;y<=S;y++){
temp[x][y]=0;
}
}
for(int k=0;k<=n;k++){
int tempx=A[k][0]-A[i][0],tempy=A[k][1]-A[i][1];
if(tempx<0||tempx>S) continue;
if(tempy<0||tempy>S)continue;
temp[tempx][tempy]=1;
}
int flag=1;
for(int x=S;x>=0;x--){
for(int y=0;y<=S;y++){
if(temp[x][y]!=B[x][y]){
flag=0;
break;
}
}
if(flag==0){
break;
}
}
if(flag){
ans++;
}
}
cout<<ans<<endl;
return 0;
}