Cod sursa(job #34849)

Utilizator filipbFilip Cristian Buruiana filipb Data 21 martie 2007 15:29:17
Problema Balanta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <stdio.h>

int N, M, C[1025][1025], rez[1025], H[1025], nr = 0, moneda;

int main(void)
{
    int K, i, j, b, ok;
    
    freopen("balanta.in", "r", stdin);
    freopen("balanta.out", "w", stdout);    
    
    scanf("%d %d", &N, &M);
    for (i = 1; i <= M; i++)
    {
        scanf("%d", &K);        
        for (j = 1; j <= K; j++)
        { scanf("%d", &b); C[i][b]=1; }
        for (j = 1; j <= K; j++)
        { scanf("%d", &b); C[i][b]=2; }
        scanf("%d", &rez[i]);
        H[i] = K;                              
    }
    
    for (i = 1; i <= N; i++)
    {
        // moneda i mai usoara
        for (j = 1, ok = 1; j <= M; j++)
            if (!( (C[j][i] == 1 && rez[j] == 2) || 
                   (C[j][i] == 2 && rez[j] == 1) ||
                   (C[j][i] == 0 && rez[j] == 0) ))
            { ok = 0; break; }
        if (ok)
           moneda = i, nr++;
        
        // moneda i mai grea
        for (j = 1, ok = 1; j <= M; j++)
            if (C[j][i] != rez[j])
            { ok = 0; break; }
        if (ok)
           moneda = i, nr++;
        
        if (nr > 1) break;
    }
        
    if (nr != 1) printf("0\n");
    else printf("%d\n", moneda);
    
    return 0;
}