Cod sursa(job #183673)

Utilizator AlxCojocaru Alexandru Alx Data 22 aprilie 2008 14:15:54
Problema Regiuni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <stdio.h>
#include <string.h>
int n,m,p[100][2],nrg,x,y,z,a[100],semn;
const int mod=100007;
void qsort(int li,int ls)
{
    if (ls-li>0)
    {
        int i1=0,j1=-1,i=li,j=ls;
        while (i<j)
        {
            if (a[i]>a[j])
            {
                int aux;
                aux=a[i];
                a[i]=a[j];
                a[j]=aux;
                aux=i1;
                i1=-j1;
                j1=-aux;
            }
            i+=i1;
            j+=j1;
        }
        qsort(li,i-1);
        qsort(i+1,ls);
    }
}
int main()
{
    freopen("regiuni.in","r",stdin);
    freopen("regiuni.out","w",stdout);
    scanf("%d %d\n",&n,&m);
    int i,j;
    for (i=0;i<n;i++)
        scanf("%d %d %d\n",&x,&y,&z);
    for (i=0;i<m;i++)
        scanf("%d %d\n",&p[i][0],&p[i][1]);
    for (i=0;i<m;i++)
    {
        freopen("regiuni.in","r",stdin);
        scanf("%d %d\n",&n,&m);
        for (j=0;j<n;j++)
        {
            scanf("%d %d %d\n",&x,&y,&z);
            semn=p[i][0]+y*p[i][1]+z>0;
            a[i]=(a[i]*2+semn)%mod;
        }
    }
//    qsort(0,m-1);
    nrg=1;
    for (i=1;i<m;i++)
        if (a[i]!=a[i-1])
            nrg++;
    printf("%d\n",nrg);
    return 0;
}