Cod sursa(job #838632)

Utilizator elfusFlorin Chirica elfus Data 20 decembrie 2012 01:19:30
Problema Balanta Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <stdio.h>

int is[1100], M1[1100], M2[1100], used[1100];

void baga(int x[], int N)
{
	int i;
	
	for (i = 1; i <= N; i ++)
		used[x[i]] = 1;
}

void discard(int x[], int N)
{
	int i;
	
	for (i = 1; i <= N; i ++)
		is[x[i]] = 0;
}

int main()
{
	int i, j, N, M;
	
	freopen("balanta.in", "r", stdin);
	freopen("balanta.out", "w", stdout);
	
	scanf("%d%d", &N, &M);
	for (i = 1; i <= N; i ++)
		is[i] = true;
	for (i = 1; i <= M; i ++)
	{
		int x, relation;
		
		scanf("%d", &x);
		for (j = 1; j <= x; j ++)
			scanf("%d", &M1[j]);
		for (j = 1; j <= x; j ++)
			scanf("%d", &M2[j]);
		scanf("%d", &relation);
		baga(M1, x); baga(M2, x);
		
		if (relation == 0)
			discard(M1, x), discard(M2, x);
		if (relation == 1)
			discard(M2, x);
		if (relation == 2)
			discard(M1, x);
	}
	
	int tot = 0, sol = 0;
	
	for (i = 1; i <= N; i ++)
		if (is[i] && used[i])
			sol = i, ++ tot;
	
	
	if (tot != 1)
		printf("0");
	else
		printf("%d", sol);
	return 0;
}