Cod sursa(job #1427168)

Utilizator din99danyMatei Daniel din99dany Data 1 mai 2015 17:18:50
Problema Balanta Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.39 kb
#include <cstdio>
using namespace std;

int l[1025], h[1025];
int aux_l[1025], aux_h[1025];

int main()
{

    freopen("balanta.in","r",stdin);
    freopen("balanta.out","w",stdout);

    int n, m, k, ok, i, j, ok2;

    scanf("%d%d",&n,&m);

    for( i = 1; i <= m; ++i ){
        scanf("%d",&k);
        for( j = 1; j <= k; ++j ) scanf("%d",&aux_l[j]);
        for( j = 1; j <= k; ++j ) scanf("%d",&aux_h[j]);
        scanf("%d",&ok);
        if( ok == 0 ){
            for( j = 1; j <= k; ++j ) l[aux_l[j]]++;
            for( j = 1; j <= k; ++j ) l[aux_h[j]]++;

            for( j = 1; j <= k; ++j ) h[aux_l[j]]++;
            for( j = 1; j <= k; ++j ) h[aux_h[j]]++;
        }
        else if( ok == 1 ){
                for( j = 1; j <= k; ++j ) l[aux_h[j]]++;
                for( j = 1; j <= k; ++j ) h[aux_l[j]]++;
        }
        else if( ok == 2 ){
                for( j = 1; j <= k; ++j ) h[aux_h[j]]++;
                for( j = 1; j <= k; ++j ) l[aux_l[j]]++;
        }
    }

    ok = 0; ok2 = 0;

    for( i = 1; i <= n; ++i )
        if( l[i] == 0 ) ok++;

    for( i = 1; i <= n; ++i )
        if( h[i] == 0 ) ok2++;

    if( ok == 1 ){
        for( i = 1; i <= n; ++i ) if( l[i] == 0 ) printf("%d",i);
    }
    else if( ok2 == 1 ){
        for( i = 1; i <= n; ++i ) if( h[i] == 0 ) printf("%d",i);
    }
    else printf("0");

    return 0;
}