Cod sursa(job #498701)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 5 noiembrie 2010 19:09:14
Problema Balanta Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <stdio.h>

int n,m,p[1025],v[1025],ok,i,j,k,x;

int main()
{
    freopen("balanta.in","r",stdin);
    freopen("balanta.out","w",stdout);
    scanf("%d%d",&n,&m);
    for (i=1;i<=n;++i) p[i]=1;
    for (i=1;i<=m;++i)
    {
        scanf("%d",&k);
        for (j=1;j<=2*k;++j) scanf("%d",&v[j]);
        scanf("%d",&x);
        if (!x) for (j=1;j<=2*k;++j) p[v[j]]=0;
        else if (x==2) for (j=1;j<=k;++j) p[v[j]]=0;
        else for (j=k+1;j<=2*k;++j) p[v[j]]=0;
    }
    for (i=1;i<=n;++i) if (p[i]) ++ok;
    if (ok==1) {for (i=1;i<=n;++i) if (p[i]) printf("%d",i);return 0;}
    ok=0;
    freopen("balanta.in","r",stdin);
    scanf("%d%d",&n,&m);
    for (i=1;i<=n;++i) p[i]=1;
    for (i=1;i<=m;++i)
    {
        scanf("%d",&k);
        for (j=1;j<=2*k;++j) scanf("%d",&v[j]);
        scanf("%d",&x);
        if (!x) for (j=1;j<=2*k;++j) p[v[j]]=0;
        else if (x==1) for (j=1;j<=k;++j) p[v[j]]=0;
        else for (j=k+1;j<=2*k;++j) p[v[j]]=0;
    }
    for (i=1;i<=n;++i) if (p[i]) ++ok;
    if (ok!=1) {printf("0");return 0;}
    for (i=1;i<=n;++i) if (p[i]) printf("%d",i);
    return 0;
}