Pagini recente » Cod sursa (job #3285316) | Cod sursa (job #550453) | Cod sursa (job #3279023) | Cod sursa (job #2803210) | Cod sursa (job #3239527)
#include <fstream>
using namespace std;
ifstream cin("balanta.in");
ofstream cout("balanta.out");
int n,m,k,st[1027],dr[1027],v[2][1027];
bool fr[1027],fr1[1027];
int main()
{
cin>>n>>m;
for(int i=1; i<=n; i++)
{
v[0][i]=1;
v[1][i]=1;
}
for(int i=1; i<=m; i++)
{
cin>>k;
for(int i=1; i<=k; i++)
cin>>st[i],fr[st[i]]=1;
for(int i=1; i<=k; i++)
cin>>dr[i],fr1[dr[i]]=1;
int r;
cin>>r;
if(r==0)///st=dr
{
for(int i=1; i<=k; i++)
{
v[0][st[i]]=0;
v[0][dr[i]]=0;
v[1][st[i]]=0;
v[1][dr[i]]=0;
}
}
else if(r==1)///st>dr
{
for(int i=1; i<=n; i++)
if(v[0][i]==1 && fr1[i]==1)
v[0][i]=1;
else
v[0][i]=0;
for(int i=1; i<=n; i++)
if(v[1][i]==1 &&fr[i]==1)
v[1][i]=1;
else
v[1][i]=1;
}
else if(r==2)///st<dr
{
for(int i=1; i<=n; i++)
if(v[0][i]==1 && fr[i]==1)
v[0][i]=1;
else
v[0][i]=0;
for(int i=1; i<=n; i++)
if(v[1][i]==1 && fr1[i]==1)
v[1][i]=1;
else
v[1][i]=0;
}
for(int i=1; i<=n; i++)
fr[i]=fr1[i]=0;
}
int nr=0,nr1=0,aux=0,aux1=0;
for(int i=1; i<=n; i++)
{
if(v[0][i]==1)
{
nr++;
if(v[1][i]==0)
aux=i;
}
if(v[1][i]==1)
{
nr1++;
if(v[0][i]==0)
aux1=i;
}
}
if(nr==1 && nr1==0)
cout<<aux;
else if(nr==0 && nr1==1)
cout<<aux1;
else
cout<<0;
return 0;
}
///v[0][i]=cele usoare
///v[0][i]=cele grele