Cod sursa(job #3291742)

Utilizator ana.veronica13Ana Veronica Draghici ana.veronica13 Data 5 aprilie 2025 14:21:28
Problema Ograzi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#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;
}