Cod sursa(job #253688)

Utilizator DastasIonescu Vlad Dastas Data 6 februarie 2009 11:15:33
Problema Grendizer Scor 20
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 1 Marime 0.82 kb
#include <cstdio>

const int maxn = 100001;

FILE *in = fopen("grendizer.in","r"), *out = fopen("grendizer.out","w");

struct coord
{
    int x, y;
};

int n, m;
coord a[maxn];

void read()
{
    fscanf(in, "%d %d", &n, &m);

    for ( int i = 1; i <= n; ++i )
        fscanf(in, "%d %d", &a[i].x, &a[i].y);
}

inline int myabs(int x)
{
    return x < 0 ? -x : x;
}

inline int manhattan(coord p, coord q)
{
    return myabs(p.x - q.x) + myabs(p.y - q.y);
}

int main()
{
    read();

    int r;
    coord t;

    for ( int i = 1; i <= m; ++i )
    {
        fscanf(in, "%d %d %d", &t.x, &t.y, &r);

        int cnt = 0;
        for ( int j = 1; j <= n; ++j )
            if ( manhattan(a[j], t) == r )
                ++cnt;

        fprintf(out, "%d\n", cnt);
    }

    return 0;
}