Cod sursa(job #1513863)
Utilizator | Data | 30 octombrie 2015 09:27:50 | |
---|---|---|---|
Problema | Balanta | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.43 kb |
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
//FILE*si=fopen("pom.in","r");
ifstream si("balanta.in");
ofstream so("balanta.out");
int gr[1026],tal1[514],tal2[514],l;
int main()
{
int n,c;
si>>n>>c;
int i,j;
int fel;
for(i=0;i<c;++i)
{
si>>l;
for(j=0;j<l;++j)
si>>tal1[j];
for(j=0;j<l;++j)
si>>tal2[j];
si>>fel;
if(fel==0)
{
for(j=0;j<l;++j)
{
gr[tal1[j]]=-1;
gr[tal2[j]]=-1;
}
}
else
{
if(fel==1)
{
for(j=0;j<l;++j)
{
if(gr[tal1[j]]==1||gr[tal1[j]]==0)
{
gr[tal1[j]]=1;
}
else
gr[tal1[j]]=-1;
}
for(j=0;j<l;++j)
{
if(gr[tal2[j]]==2||gr[tal2[j]]==0)
{
gr[tal2[j]]=2;
}
else
gr[tal2[j]]=-1;
}
}
else
{
for(j=0;j<l;++j)
{
if(gr[tal1[j]]==2||gr[tal1[j]]==0)
{
gr[tal1[j]]=2;
}
else
gr[tal1[j]]=-1;
}
for(j=0;j<l;++j)
{
if(gr[tal2[j]]==1||gr[tal2[j]]==0)
{
gr[tal2[j]]=1;
}
else
gr[tal2[j]]=-1;
}
}
}
}
int l1=0,l2=0,l0=0,p1,p0,p2;
for(i=1;i<=n;++i)
{
//so<<gr[i]<<' ';
if(gr[i]==1)
{
p1=i;
l1++;
}
else if(gr[i]==2)
{
p2=i;
l2++;
}
else if(gr[i]==0)
{
p0=i;
++l0;
}
}
if(l1==1&&l0==0&&l2!=1)
so<<p1;
else if(l2==1&&l0==0&&l1!=1)
so<<p2;
else if(l0==1&&l1==0&&l2==0)
so<<p0;
else so<<0;
so<<'\n';
so.close();
// fclose(si);
return 0;
}