Pagini recente » Cod sursa (job #2140774) | Cod sursa (job #3175941) | Cod sursa (job #174134) | Cod sursa (job #96181) | Cod sursa (job #48045)
Cod sursa(job #48045)
// 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;
}