Pagini recente » Cod sursa (job #2513857) | Cod sursa (job #683095) | Cod sursa (job #2036908) | Cod sursa (job #2222657) | Cod sursa (job #3291742)
#include <bits/stdc++.h>
using namespace std;
#define MAX_N 50001
struct oaie{
int x, y;
};
oaie o[MAX_N];
int x[MAX_N], y[MAX_N], ldir[4] = { 0, 1, 1, 0}, cdir[4] = { 0, 0, 1, 1 };
map< pair<int, int>, vector<int> > parcela;
int main(){
ifstream cin( "ograda.in" );
ofstream cout( "ograda.out" );
int n, m, w, h, ans, i, j, k, lin, col, d;
cin >> n >> m >> w >> h;
for( i = 0; i < n; i++ ){
cin >> x[i] >> y[i];
}
h++;
w++;
for( i = 0; i < m; i++ ){
cin >> o[i].x >> o[i].y;
parcela[{o[i].x / w, o[i].y / h}].push_back( i );
}
ans = 0;
for( i = 0; i < n; i++ ){
for( d = 0; d < 4; d++ ){
lin = x[i] + w * ldir[d];
col = y[i] + h * cdir[d];
for( j = 0; j < parcela[{ lin / w, col / h }].size(); j++ ){
k = parcela[{ lin / w, col / h }][j];
if( o[k].x >= x[i] && o[k].x < x[i] + w && o[k].y >= y[i] && o[k].y < y[i] + h ){
ans++;
//cout << k << " " << i << "\n";
}
}
}
}
cout << ans;
return 0;
}