1.1编码实现
#include<iostream>
using namespace std;
int a[2001][2001] = {0};
int x[1001] = {0};
int y[1001] = {0};
int bao[52][52] = {0};
int main()
{
int n,l,s;
cin>>n>>l>>s;
for(int i=1;i<=n;i++)
{
cin>>x[i]>>y[i];
a[x[i]][y[i]] = 1;
}
for(int i=s;i>=0;i--)
{
for(int j=0;j<=s;j++)
{
cin>>bao[i][j];
}
}
int cnt = 0;
for(int i=1;i<=n;i++) //只遍历有树的位置
{
bool flag = false;
if(x[i] <= l-s && y[i] <= l-s)
{
for(int j=0;j<=s;j++)
{
for(int k=0;k<=s;k++)
{
if(a[x[i] + j][y[i] + k] == bao[j][k])
{
flag = true;
}
else
{
flag = false;
break;
}
}
if(flag == false)
break;
}
if(flag == true)
cnt++;
}
}
cout<<cnt;
return 0;
}
1.2提交结果