#include
<
stdio.h
>
#include
<
string
.h
>

int
n, W, H, w, h;
int
m[
101
][
101
];
int
cnt;

void
DP()

{
int i, j;
int c=0;

for(i=w;i<=W;i++)
for(j=h;j<=H;j++)

{
if(j==h)

{
c=0;
int ii, jj;
for(ii=i-w+1;ii<=i;ii++)
for(jj=1;jj<=h;jj++)
if(m[ii][jj]==1)
c++;
if(cnt<c)
cnt=c;
}
else

{
int k;
for(k=i-w+1;k<=i;k++)

{
if(m[k][j-h]==1)
c--;
if(m[k][j]==1)
c++;
}
if(cnt<c)
cnt=c;
}
}

}

int
main()

{
while(scanf("%d", &n)==1 && n)

{
cnt=0;
memset(m,0,sizeof(m));
scanf("%d%d", &W, &H);
int i;
int x, y;
for(i=0;i<n;i++)

{
scanf("%d%d", &x, &y);
m[x][y]=1;
}
scanf("%d%d", &w, &h);
DP();
printf("%d\n", cnt);
}
return 0;
}
转载于:https://www.cnblogs.com/SQL/archive/2007/10/21/932289.html