Cod sursa(job #1752372)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 3 septembrie 2016 17:25:44
Problema Regiuni Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <algorithm>
using namespace std;
struct linii
{
    int a,b,c;
};
struct puncte
{
    int a,b;
};
linii w[1005];
puncte v[1005];
int n,m,i,j,x,y,gr;
bool compara(puncte A, puncte B)
{
    if(A.a!=B.a) return A.a>B.a;
    return A.b>B.b;
}
int main()
{
    ifstream f("regiuni.in");
    ofstream g("regiuni.out");
    f>>n>>m;
    for(i=1; i<=n; i++)
    {
        f>>w[i].a>>w[i].b>>w[i].c;
    }
    for(i=1; i<=m; i++)
    {
        f>>x>>y;
        for(j=1; j<=n; j++)
        {
            v[i].a*=2;
            v[i].b*=2;
            if(w[j].a*x+w[j].c> -w[j].b*y) {v[i].a++; v[i].b++;}
            v[i].a=v[i].a%1000117;
            v[i].b=v[i].b%100109;
        }
    }
    sort(v+1, v+m+1, compara);
    gr=m;
    for(i=2; i<=m; i++)
    {
        if(v[i].a==v[i-1].a&&v[i].b==v[i-1].b) gr--;
    }
    g<<gr<<'\n';
    f.close(); g.close();
    return 0;
}