Cod sursa(job #24961)

Utilizator CosminCosmin Negruseri Cosmin Data 4 martie 2007 04:36:36
Problema Ograzi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
 #include <stdio.h>
#include <algorithm>

using namespace std;

#define MAX_N 50005
#define FIN "ograzi.in"
#define FOUT "ograzi.ok"
#define x first
#define y second

int N, M, W, H, Res; char buf[256], *p;
pair<int, int> P[MAX_N];

pair<int, int> get(void)
{
    int a, b;

    fgets(buf, sizeof(buf), stdin);
    for (p = buf, a = 0; *p >= '0' && *p <= '9'; p++)
        a = a*10 + *p-'0';
    for (; *p == ' '; p++);
    for (b = 0; *p >= '0' && *p <= '9'; p++)
        b = b*10 + *p-'0';
    return make_pair(a, b);
}

int main(void)
{
    int i, j;
    pair<int, int> p;

    freopen(FIN, "r", stdin);
    freopen(FOUT, "w", stdout);

    scanf("%d %d %d %d\n", &N, &M, &W, &H);
    for (i = 0; i < N; i++)
        P[i] = get();

    random_shuffle(P, P+N);
    for (i = 0; i < M; i++)
    {
        p = get();
        for (j = 0; j < N; j++)
            if (P[j].x <= p.x && p.x <= P[j].x+W &&
                P[j].y <= p.y && p.y <= P[j].y+H) break;
        Res += j == N;
    }

    printf("%d\n", Res);

    return 0;
}