Pagini recente » Cod sursa (job #3176226) | Cod sursa (job #3039692) | Cod sursa (job #709054) | Cod sursa (job #1177610) | Cod sursa (job #3239603)
#include <fstream>
using namespace std;
ifstream cin("balanta.in");
ofstream cout("balanta.out");
int n,m,k,v[1025],a[520],b[520],r,usor=-1,tu,tg,nru,nrg,greu=1,aur=2,nr,sol;
bool fr[1025];
void citeste(int v[]){
for(int i=1;i<=k;i++)
cin>>v[i],fr[v[i]]=1;
}
int main()
{
cin>>n>>m;
while(m--){
cin>>k;
citeste(a);
citeste(b);
cin>>r;
if(r==0)
for(int i=1;i<=k;i++)
v[a[i]]=v[b[i]]=aur;
else if(r==1){
for(int i=1;i<=n;i++){
if(!fr[i])
v[i]=aur;
fr[i]=0;
}
for(int i=1;i<=k;i++){
if(v[a[i]]==usor||v[a[i]]==aur)
v[a[i]]=aur;
else
v[a[i]]=greu;
if(v[b[i]]==greu||v[b[i]]==aur)
v[b[i]]=aur;
else
v[b[i]]=usor;
}
}else{
for(int i=1;i<=n;i++){
if(!fr[i])
v[i]=aur;
fr[i]=0;
}
for(int i=1;i<=k;i++){
if(v[b[i]]==usor||v[b[i]]==aur)
v[b[i]]=aur;
else
v[b[i]]=greu;
if(v[a[i]]==greu||v[a[i]]==aur)
v[a[i]]=aur;
else
v[a[i]]=usor;
}
}
}
for(int i=1;i<=n;i++)
if(v[i]==greu)
tg++,nrg=i;
else if(v[i]==usor)
tu++,nru=i;
if(!(tu!=tg&&(tu==1||tg==1)))
sol=0;
else if(tu==1)
sol=nru;
else
sol=nrg;
cout<<sol;
return 0;
}