Pagini recente » Cod sursa (job #714347) | Cod sursa (job #3244012) | Cod sursa (job #2525395) | Cod sursa (job #189204) | Cod sursa (job #469887)
Cod sursa(job #469887)
#include<fstream>
#include<vector>
#define dmax 50003
#define dmax2 9713
using namespace std;
ifstream in("ograzi.in");
ofstream out("ograzi.out");
int n,m,w,h,x[dmax],y[dmax],c,d,sol;
vector<int>p[dmax2];
vector<int>::iterator it;
void verif(int a,int b)
{ int z;
if(!p[(97*a+b)%dmax2].empty() )
{ for(it=p[(97*a+b)%dmax2].begin();it<p[(97*a+b)%dmax2].end();it++)
{ z=*it;
if(x[z] <= c && c<=x[z]+w && y[z] <= d && d <= y[z]+h)
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]+w-1) / w;
b=(y[i]+h-1) / h;
p[(97*a+b)%dmax2].push_back(i);
}
for(i=1;i<=m;i++)
{ in>>c>>d;
a=(c+w-1) / w;
b=(d+h-1) / h;
verif(a,b);
verif(a-1,b);
verif(a,b-1);
verif(a-1,b-1);
}
out<<sol;
out.close();
return 0;
}