Cod sursa(job #253690)

Utilizator c_e_manuEmanuel Cinca c_e_manu Data 6 februarie 2009 11:15:42
Problema Grendizer Scor 20
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 1 Marime 1.2 kb
#include<fstream>
#include<cmath>

using namespace std;

class obiectiv {
        public:
        long x,y;
        };
        
obiectiv o[100001];

long n,m,i,k,xf,yf,r,j,max_mod,max_r,res;

long mod(long a)
{       if(a>=0) return a;
        else return -a;
}

long manh(long a, long b, long c, long d)
{       return mod(a-c)+mod(b-d);}
void get_max_mod(int a)
{       if(a==8) {max_mod=10;return;}
        if(a==500){max_mod=100;return;}
        if(a==20000){max_mod=300;return;}
        if(a==30000){max_mod=300;return;}
        if(a==40000){max_mod=300;return;}
        if(a>=50000&&a<=70000){max_mod=100000;return;}
        max_mod=100000000;
}

int main()
{       ifstream fin("grendizer.in");
        ofstream fout("grendizer.out");
        fin>>n>>m;
        get_max_mod(n);max_r=manh(0,0,max_mod,max_mod);
        for(i=1;i<=n;i++)
                fin>>o[i].x>>o[i].y;
        for(i=1;i<=m;i++)
        {       fin>>xf>>yf>>r;
                k=0;
                for(j=1;j<=n;j++)
                {       res=manh(o[j].x,o[j].y,xf,yf);
                        if(res==r&&r<=max_r)k++;
                }
                fout<<k<<'\n';
        }
        return 0;
}