Pagini recente » Cod sursa (job #2621165) | Cod sursa (job #3224611) | Cod sursa (job #529264) | Cod sursa (job #1332910) | Cod sursa (job #715408)
Cod sursa(job #715408)
#include<iostream>
#include<fstream>
#include<vector>
#define M 193939
using namespace std;
ifstream in("ograzi.in");
ofstream out("ograzi.out");
int n,m,w,h,sol,x[50010],y[50010],c,d;
vector<int> H[M];
inline void ver(int a, int b) {
int poz,i,dr;
poz = (a*97 + b)%M;
for(i=0; i!=H[poz].size(); ++i) {
dr = H[poz][i];
if(x[dr]<=c && y[dr]<=d && x[dr]+w>=c && y[dr] + h>=d)
++sol;
}
}
int main() {
int i,a,b;
in >> n >> m >> w >> h;
for(i=1;i<=n;++i) {
in >> x[i] >> y[i];
a = (x[i]-1)/w + 1;
b = (y[i]-1)/h + 1;
H[(a*97 + b)%M].push_back(i);
}
for(i=1;i<=m;++i) {
in >> c >> d;
a = (c-1)/w + 1;
b = (d-1)/h + 1;
ver(a,b);
ver(a-1,b);
ver(a,b-1);
ver(a-1,b-1);
}
out << sol << "\n";
return 0;
}