Pagini recente » Istoria paginii utilizator/liviut | Istoria paginii utilizator/monstersword69 | Istoria paginii utilizator/razvy05 | Diferente pentru runda/a intre reviziile 6 si 7 | Cod sursa (job #996824)
Cod sursa(job #996824)
#include <cstdio>
#include <iostream>
#define MAX 1030
#include <cstring>
#include <fstream>
using namespace std;
bool h[MAX] , l[MAX] , a[MAX] , b[MAX] ;
void scrie(bool v[MAX], int n )
{
int i ;
for( i=1; i<=n; i++)
{
cout<<v[i]<<' ';
}
}
int main()
{
freopen("balanta.in", "r", stdin);
freopen("balanta.out", "w", stdout);
int n , m , k , r , i , x , j , card_h , card_l ;
scanf("%d %d", &n, &m);
for( i = 1 ; i <= n ; i++ )
{
h[i] = 1 ;
l[i] = 1 ;
}
card_h = n ;
card_l = n ;
for( i=1 ; i<=m ; i++ )
{
scanf("%d", &k);
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
for( j = 1 ; j <= k ; j++ )
{
scanf("%d", &x);
a[x] = 1;
}
for( j ; j <= 2*k ; j++ )
{
scanf("%d", &x);
b[x] = 1;
}
scanf("%d", &r);
if( r == 0 )
{
for( j = 1 ; j <= n ; j++ )
{
if( a[j] || b[j] )
{
h[j]=0;
l[j]=0;
if( card_h ) card_h--;
if( card_l ) card_l--;
}
}
}
else if( r == 1 )
{
for( j = 1 ; j <= n ; j++ )
{
if( h[j] != a[j] )
{
h[j] = 0 ;
if( card_h ) card_h-- ;
}
if( l[j] != b[j] )
{
l[j] = 0 ;
if( card_l ) card_l-- ;
}
}
}
else
{
for( j = 1; j <= n; j++ )
{
if( h[j] != b[j] )
{
h[j] = 0 ;
if( card_h ) card_h-- ;
}
if( l[j] != a[j] )
{
l[j] = 0 ;
if( card_l ) card_l-- ;
}
}
}
}
if( card_h == 1 && card_l == 0 )
{
for ( i = 1 ; i <= n ; i++ )
{
if( h[i] == 1 )
{
printf("%d", i);
return 0;
}
}
}
else
{
if( card_h == 0 && card_l == 1 )
{
for ( i = 1 ; i <= n ; i++ )
{
if( l[i] == 1 )
{
printf("%d", i);
return 0;
}
}
}
else
{
printf("0");
}
}
return 0 ;
}