Cod sursa(job #545468)

Utilizator lily3Moldovan Liliana lily3 Data 3 martie 2011 13:53:25
Problema Balanta Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include<fstream>
using namespace std;

int i,j,n,m,a[1030],uz[1030],k,p,r1,r2,nr=0;
int main()
{
	ifstream f("balanta.in");
	ofstream g("balanta.out");
	f>>n>>m;
	while(m--)
	{
		f>>k;
		for(i=1;i<=k*2;i++)
			f>>a[i];
		f>>p;
		if(p==1)
		r1=1,r2=2;
		else
			if(p==2)
				r1=2,r2=1;
			else
				r1=r2=-1;
			for(i=1;i<=k;i++)
				if(uz[a[i]]==uz[a[i+k]]&&uz[a[i]]==1)
				{
					if(p==1)
						nr=a[i];
					else
						if(p==2)
					nr=a[i+k];
				}
				else
					if(uz[a[i]]==uz[a[i+k]]&&uz[a[i]]==2)
					{
						if(p==1)
							nr=a[i+k];
						else
							if(p==2)
								nr=a[i];
					}
					for(i=1;i<=k;i++)
				uz[a[i]]=r1,uz[a[i+k]]=r2;
	}
	if(nr==0)
	for(i=1;i<=k;i++)
				if(uz[a[i]]==uz[a[i+k]]&&uz[a[i]]==1)
				{
					if(p==1)
						nr=a[i];
					else
						if(p==2)
					nr=a[i+k];
				}
				else
					if(uz[a[i]]==uz[a[i+k]]&&uz[a[i]]==2)
					{
						if(p==1)
							nr=a[i+k];
						else
							if(p==2)
								nr=a[i];
					}
					for(i=1;i<=n;i++)
						if(uz[i]==0&&nr!=0)
							nr=0;
	g<<nr;
	return 0;
}