Cod sursa(job #357132)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 18 octombrie 2009 07:54:06
Problema Balanta Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>

#define NM 1050

int main(){
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
int i,k,kd,v[NM]={0},u[NM]={0},g[NM]={0},s,c=0,w[NM]={0};
int n,m,l=0,h=0,mu,mg,mf;
scanf("%d%d",&n,&m);
while(m--){
	scanf("%d",&k);
	kd=2*k;
	for(i=1;i<=kd;++i) scanf("%d",&v[i]);
	scanf("%d",&s);
	if(!s){
		for(i=1;i<=kd;++i) w[v[i]]=1;
		continue;
		}
	c++;
	if(s==1)
		for(i=1;i<=k;++i){
			g[v[i]]++;
			u[v[i+k]]++;
			}
	else
		for(i=1;i<=k;++i){
			u[v[i]]++;
			g[v[i+k]]++;
			}
	}
for(i=1;i<=n;++i){
	if(u[i]==c)	l++,mu=i;
	if(g[i]==c) h++,mg=i;
	if(!w[i]) mf=i;
	}
if(!c) printf("%d",mf);
else
	if(l==1&&h==0) printf("%d",mu);
	else
		if(l==0&&h==1) printf("%d",mg);
		else printf("0");
return 0;
}