Pagini recente » Cod sursa (job #119593) | Cod sursa (job #1117308) | Cod sursa (job #1346681) | Cod sursa (job #249865) | Cod sursa (job #2636013)
#include <bits/stdc++.h>
using namespace std;
map<pair<int,int>,pair<int,int>> mp;
int n,m,w,h,nr;
const int bsize = (1<<16)+1;
char buffer[bsize];
int p;
int ReadInt()
{
int nr=0;
while(!isdigit(buffer[p]))
{
if(p==bsize-1)
{
p=0;
fread(buffer,1,bsize,stdin);
}
else
p++;
}
while(isdigit(buffer[p]))
{
nr=nr*10+buffer[p]-'0';
if(p==bsize-1)
{
p=0;
fread(buffer,1,bsize,stdin);
}
else
p++;
}
return nr;
}
void verif(pair<int,int> a, pair<int,int> b)
{
if (a.first<=b.first && a.first+w>=b.first && a.second<=b.second && a.second+h>=b.second)
++nr;
}
int main()
{
freopen("ograzi.in","r",stdin);
freopen("ograzi.out","w",stdout);
n=ReadInt();
m=ReadInt();
w=ReadInt();
h=ReadInt();
for(int i=1; i<=n; i++)
{
int x,y;
x=ReadInt();
y=ReadInt();
int X=x,Y=y;
x=(x+w-1)/w;
y=(y+h-1)/h;
mp[ {x,y}]= {X,Y};
}
for(int i=1; i<=m; i++)
{
int x,y;
x=ReadInt();
y=ReadInt();
int X=x,Y=y;
x=(x+w-1)/w;
y=(y+h-1)/h;
pair<int,int> k={X,Y};
verif(mp[{x,y}],k);
verif(mp[{x-1,y}],k);
verif(mp[{x,y-1}],k);
verif(mp[{x-1,y-1}],k);
}
cout<<nr<<'\n';
return 0;
}