Pagini recente » Cod sursa (job #1004819) | Cod sursa (job #1755512) | Cod sursa (job #1961928) | Cod sursa (job #1687749) | Cod sursa (job #1506004)
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#define mod 666013
#define maxN 50002
#define maxM 100002
#define inf 1000002
#define ll long long
using namespace std;
ll val;
int i, j, n, m, w, h, x, y, sol;
vector < ll > V[mod];
int In_hash(ll val)
{
ll x = val % mod;
int i, l = V[x].size();
for (i = 0; i < l; ++ i)
if (V[x][i] == val)
return 1;
return 0;
}
void read()
{
freopen("ograzi.in", "r", stdin);
scanf("%d %d %d %d", &n, &m, &w, &h);
for (i = 1; i <= n; ++ i)
{
scanf("%d %d", &x, &y);
val = (long long)((x / w) * inf * 1LL + (y / h) * 1LL);
V[val % mod].push_back(val);
}
}
void solve()
{
int z, t;
while (m --)
{
scanf("%d %d", &x, &y);
for (z = -1; z < 1; ++ z)
for (t = -1; t < 1; ++ t)
if (z + t > -2)
{
ll val = (long long)(((x / w) + z) * inf * 1LL + (y / h) * 1LL + t);
if (val >= 0 && In_hash(val))
{
++ sol;
z = 1;
t = 1;
}
}
}
}
void write()
{
freopen("ograzi.out", "w", stdout);
printf("%d", sol);
}
int main()
{
read();
solve();
write();
return 0;
}