Cod sursa(job #48045)

Utilizator Bluedrop_demonPandia Gheorghe Bluedrop_demon Data 4 aprilie 2007 12:57:22
Problema Balanta Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.88 kb
// Problema balanta

#include <stdio.h>
#define MAX       1025

short viz[MAX];
int t1[MAX], t2[MAX];

int main()
{
    freopen( "balanta.in", "rt", stdin );
             int n, m, i, j, k, cd;
             scanf( "%d %d", &n, &m );
             while( m )
                    {
                        m--;
                        scanf( "%d", &k );
                        for( i=1; i<=k; i++ ) scanf( "%d" , &t1[i] );
                        for( i=1; i<=k; i++ ) scanf( "%d" , &t2[i] );
                        scanf( "%d", &cd );
                        switch( cd )
                                {
                                    case 0:
                                         for( i=1; i<=k; i++ )
                                              { viz[t1[i]] = 0; viz[t2[i]] = 0; }
                                         break;
                                    case 1:
                                         for( i=1; i<=k; i++ )
                                              { viz[t1[i]] = 1; viz[t2[i]] = -1; }
                                         break;
                                    case 2:
                                         for( i=1; i<=k; i++ )
                                              { viz[t1[i]] = -1; viz[t2[i]] = 1; }
                                         break;
                                }
                    }
             int poz1 = 0, neg1 = 0;
             int ppoz1, pneg1;
             for( i=1; i<=n; i++ )
                  if( viz[i] == 1 ) { poz1++; ppoz1 = i; }
                      else if (viz[i] == -1 ) { neg1++; pneg1 = i; }
    fclose( stdin );
    
    freopen( "balanta.out", "wt", stdout );
             if( poz1 == 1 ) printf( "%d\n", ppoz1 );
                 else if( neg1 == 1 ) printf( "%d\n", pneg1 );
                      else printf( "0\n" );
    fclose( stdout );
    return 0;
}