Cod sursa(job #1178860)

Utilizator enedumitruene dumitru enedumitru Data 27 aprilie 2014 13:28:13
Problema Balanta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream>
using namespace std;
ifstream f("balanta.in");
ofstream g("balanta.out");
int n,m,k,r,i,x,sh,sl,h[1025],l[1025],a[1025],b[1025];
int main()
{	f>>n>>m;
	for(i=1;i<=n;i++) h[i]=l[i]=1;
	while(m--)
	{	f>>k;
		for(i=1;i<=n;i++) a[i]=b[i]=0;
		for(i=1;i<=k;i++) f>>x, a[x]=1;
		for(i=1;i<=k;i++) f>>x, b[x]=1;
		f>>r;
		if(r==0) for(i=1;i<=n;i++) 
		{	if(a[i]) h[i]=0, l[i]=0;
			if(b[i]) h[i]=0, l[i]=0;
		}
		if(r==1) for(i=1;i<=n;i++) {h[i]*=a[i]; l[i]*=b[i];}
		if(r==2) for(i=1;i<=n;i++) {h[i]*=b[i]; l[i]*=a[i];}
	}
	for(i=1;i<=n;i++) 
			sh+=h[i], sl+=l[i];
	if(sh==1 && sl==0) 
	{	i=1;
		while(!h[i]) i++;
		g<<i<<'\n';
	}
	if(sh==0 && sl==1) 
	{	i=1;
		while(!l[i]) i++;
		g<<i<<'\n';
	}
	if(sh && sl) g<<"0\n";
	if(sh==0 && sl==0) g<<"0\n";
	g.close(); return 0;
}