Pagini recente » Cod sursa (job #2926984) | Cod sursa (job #219993) | Cod sursa (job #1813924) | Cod sursa (job #3225456) | Cod sursa (job #1771506)
#include<bits/stdc++.h>
using namespace std;
int n,m,k,v[10500],r,g[10500],u[10500],fg,fu,frecv[10500];
int main()
{
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
scanf("%d%d",&n,&m);
for(int test=1;test<=m;test++)
{
scanf("%d",&k);
for(int i=1;i<=n;i++) frecv[i]=0;
for(int i=1;i<=(2*k);i++)
{
scanf("%d",&v[i]);
frecv[v[i]]++;
}
scanf("%d",&r);
if(r==0)
{
for(int i=1;i<=(2*k);i++)
if(frecv[v[i]]==1)g[v[i]]=-1;
for(int i=1;i<=(2*k);i++)
if(frecv[v[i]]==1) u[v[i]]=-1;
}
else
if(r==1)
{
for(int i=1;i<=k;i++)
if(!g[v[i]] && frecv[v[i]]!=1) g[v[i]]=1;
for(int i=1;i<=k;i++)
if(frecv[v[i+k]]==1) g[v[i+k]]=-1;
for(int i=1;i<=k;i++)
if(!u[v[i+k]] && frecv[v[i+k]]==1) u[v[i+k]]=1;
for(int i=1;i<=k;i++)
if(frecv[v[i]]==1)u[v[i]]=-1;
}
else
{
for(int i=1;i<=k;i++)
if(!u[v[i]] && frecv[v[i]]==1) u[v[i]]=1;
for(int i=1;i<=k;i++)
if(frecv[v[i+k]]==1) u[v[i+k]]=-1;
for(int i=1;i<=k;i++)
if(!g[v[i+k]] && frecv[v[i+k]]==1) g[v[i+k]]=1;
for(int i=1;i<=k;i++)
if(frecv[v[i]]==1) g[v[i]]=-1;
}
}
int gr=0;
for(int i=1;i<=n;i++)
{
if(g[i]==1)
{
gr=i;
fg++;
}
}
int us=0;
for(int i=1;i<=n;i++)
{
if(u[i]==1)
{
us=i;
fu++;
}
}
if(gr && fg==1) printf("%d\n",gr);
else
if(us && fu==1) printf("%d\n",us);
else
{
fg=0;
fu=0;
for(int i=1;i<=n;i++)
{
if(!g[i]) fg++,gr=i;
if(!u[i]) fu++,us=i;
}
if(fg==1) printf("%d\n",gr);
else
if(fu==1) printf("%d\n",us);
else
printf("0\n");
}
return 0;
}