Cod sursa(job #1513856)
Utilizator | Data | 30 octombrie 2015 09:17:11 | |
---|---|---|---|
Problema | Balanta | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.58 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 p1=0,p0=0,p2=0;
for(i=1;i<=n;++i)
{
//so<<gr[i]<<' ';
if(gr[i]==1)
if(!p1)
{
p1=i;
}
else
p1=-1;
if(gr[i]==2)
if(!p2)
{
p2=i;
}
else
p2=-1;
if(gr[i]==0)
if(!p0)
{
p0=i;
}
else
p0-=-1;
}
if(p1>0&&(p2<1&&p0==0))
so<<p1;
else if(p2>0&&(p1<1&&p0==0))
so<<p2;
else if(p0>0&&(p1==0&&p1==0))
so<<p0;
else so<<0;
so<<'\n';
so.close();
// fclose(si);
return 0;
}