Cod sursa(job #1464300)

Utilizator ade_tomiEnache Adelina ade_tomi Data 22 iulie 2015 22:19:06
Problema Balanta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.57 kb
#include<stdio.h>
int n,m,k,a[1050],x[1050],y[1060],i,j,p,h[1050];
int main()
{

    freopen("balanta.in","r",stdin);
    freopen("balanta.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;i++)
        a[i]=h[i]=1;
    for(i=1;i<=m;i++)
    {

        scanf("%d",&k);
        for(j=1;j<=k;j++)
            scanf("%d",&x[j]);
        for(j=1;j<=k;j++)
            scanf("%d",&y[j]);
        scanf("%d",&p);
        if(p==0)
        {

            for(j=1;j<=k;j++)
            {

                h[x[j]]--;h[y[j]]--;
                a[x[j]]--;a[y[j]]--;
            }
        }
        else if(p==1)
        {

           for(j=1;j<=n;j++)
           {
               h[j]--;
               a[j]--;
           }
           for(j=1;j<=k;j++)
            {
                h[x[j]]++;
                a[y[j]]++;
            }

        }
        else
        {
            for(j=1;j<=n;j++)
           {
               h[j]--;
               a[j]--;
           }
           for(j=1;j<=k;j++)
            {
                h[y[j]]++;
                a[x[j]]++;
            }

        }
    }
    int ok=0,sol=0;
    for(i=1;i<=n;i++)
        if(h[i]>=1)
        {

            ok++;
            sol=i;


        }
    if(ok==1){
    printf("%d",sol);
    return 0;
    }
    else
    {
        int ok=0,sol=0;
        for(i=1;i<=n;i++)
        if(a[i]>=1)
        {

            ok++;
            sol=i;

        }
        if(ok==1)
        printf("%d",sol);
        else printf("0");

    }
    return 0;
}