Pagini recente » Cod sursa (job #100396) | Cod sursa (job #2731657) | Cod sursa (job #1489668) | Cod sursa (job #370834) | Cod sursa (job #715413)
Cod sursa(job #715413)
#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,poz,dr;
vector<int> H[M];
vector<int>::iterator it;
inline void ver(const int &a, const int &b) {
poz = (a*97 + b)%M;
for(it=H[poz].begin(); it!=H[poz].end(); ++it) {
dr = *it;
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;
}