Pagini recente » Cod sursa (job #264297) | Cod sursa (job #2017354) | Cod sursa (job #2306687) | Cod sursa (job #2008095) | Cod sursa (job #1424247)
#include <cstdio>
#include <bitset>
#include <vector>
using namespace std;
#define Nmax 1030
FILE *f = fopen ( "balanta.in", "r" );
FILE *g = fopen ( "balanta.out", "w" );
vector < int > st, dr;
bitset < Nmax > sigur;
int main(){
int N, M, K, x, r;
fscanf ( f, "%d%d", &N, &M );
for ( int i = 1; i <= M; ++i ){
fscanf ( f, "%d", &K );
st.clear();
dr.clear();
for ( int j = 1; j <= K; ++j ){
fscanf ( f, "%d", &x );
st.push_back ( x );
}
for ( int j = 1; j <= K; ++j ){
fscanf ( f, "%d", &x );
dr.push_back ( x );
}
fscanf ( f, "%d", &r );
if ( r == 0 ){
for ( int j = 0; j < K; ++j ){
sigur[st[j]] = 1;
sigur[dr[j]] = 1;
}
continue;
}
if ( r == 1 ){
for ( int j = 0; j < K; ++j )
sigur[dr[j]] = 1;
continue;
}
if ( r == 2 ) {
for ( int j = 0; j < K; ++j )
sigur[st[j]] = 1;
}
}
if ( sigur.count() < N - 1 )
fprintf ( g, "%d", 0 );
else
for ( int i = 1; i <= N; ++i )
if ( !sigur[i] ){
fprintf ( g, "%d ", i );
break;
}
return 0;
}