Pagini recente » Cod sursa (job #783265) | Cod sursa (job #518151) | Cod sursa (job #2132467) | Cod sursa (job #1225884) | Cod sursa (job #1561978)
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
const int m1=1003;
const int m2=1009;
//whatcha gunna do
int w,h;
struct sp
{
int x,y;
};
sp a[m1+3][m2+3][5];
int l[m1+3][m2+3];
int main()
{
freopen("ograzi.in","r",stdin);
freopen("ograzi.out","w",stdout);
int n,m,i,j,x,y,xi,yi,xj,yj,nr=0,lu;
sp tm;
scanf("%d%d%d%d",&n,&m,&w,&h);
for(i=1; i<=n; i++)
{
scanf("%d%d",&x,&y);
tm.x=x;
tm.y=y;
xi=(x/w)%m1;
yi=(y/h)%m2;
xj=(xi+1)%m1;
yj=(yi+1)%m2;
l[xi][yi]++;
lu=l[xi][yi];
a[xi][yi][lu]=tm;
l[xi][yj]++;
lu=l[xi][yj];
a[xi][yj][lu]=tm;
l[xj][yi]++;
lu=l[xj][yi];
a[xj][yi][lu]=tm;
l[xj][yj]++;
lu=l[xj][yj];
a[xj][yj][lu]=tm;
}
for(i=1; i<=m; i++)
{
scanf("%d%d",&x,&y);
xi=(x/w)%m1;
yi=(y/h)%m2;
for(j=l[xi][yi];j>=1;j--)
{
tm=a[xi][yi][j];
if(tm.x<=x && x<=tm.x+w && tm.y<=y && y<=tm.y+h)
break;
}
if(j>=1)
nr++;
}
printf("%d\n",nr);
return 0;
}