Pagini recente » Cod sursa (job #1615124) | Cod sursa (job #896708) | Cod sursa (job #1630662) | Cod sursa (job #2859039) | Cod sursa (job #1081572)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("balanta.in");
ofstream g("balanta.out");
int n,m,ok[1030],k,ok2[1030],a1[1030],a2[1030],keep[1030],keep2[1030],rel,is,n1,p1,n2,p2;
int main()
{ int i,j;
f>>n>>m;
for(i=1;i<=n;i++)
{ok[i]=1; ok2[i]=1;}
for(i=1;i<=m;i++)
{ f>>k;
for(j=1;j<=k;j++)
f>>a1[j];
for(j=1;j<=k;j++)
f>>a2[j];
f>>rel;
if (!rel)
for(j=1;j<=k;j++)
{ok[a1[j]]=0;
ok[a2[j]]=0;}
else
{ memset(keep,0,sizeof(keep));
memset(keep2,0,sizeof(keep2));
for(j=1;j<=k;j++)
if (rel==1) {keep[a1[j]]=1; keep2[a2[j]]=1;}
else {keep[a2[j]]=1; keep2[a1[j]]=1;}
for(j=1;j<=n;j++)
{if (!keep[j]) ok[j]=0;
if (!keep2[j]) ok2[j]=0;
}
}
}
for(i=1;i<=n;i++)
{if (ok[i]==1)
{n1++; if(n1==1) p1=i;}
if (ok2[i]==1)
{n2++; if(n2==1) p2=i;}
}
if (n1==1 && !n2) g<<p1;
else if (n2==1 && !n1) g<<p2;
else g<<"0";
return 0;
}