Pagini recente » Cod sursa (job #2589164) | Cod sursa (job #1412485) | Cod sursa (job #562618) | Cod sursa (job #2865922) | Cod sursa (job #27167)
Cod sursa(job #27167)
#include <stdio.h>
int h[1025],l[1025],a[1025], b[1025],n;
void nn(int a[1025], int b[1025])
{
for (int i=1;i<=n;i++) if (a[i]==1 && b[i]==1) a[i]=1;
else a[i]=0;
}
void rezolva(int aux)
{
if (aux==0) for (int i=1;i<=n;i++)
{
if (a[i]==1) {h[i]=0;l[i]=0;}
if (b[i]==1) {h[i]=0;l[i]=0;}
}
if (aux==1)
{
nn(h,a);
nn(l,b);
}
if (aux==2)
{
nn(h,b);
nn(l,a);
}
}
int main()
{
freopen("balanta.in","r",stdin);
freopen("balanta.out","w", stdout);
int m,k,i,j,aux;
scanf("%d %d", &n, &m);
for (i=1;i<=n;i++) {h[i]=1;l[i]=1;}
for (j=1;j<=m;j++)
{
scanf("%d",&k);
for (i=1;i<=n;i++) {a[i]=0;b[i]=0;}
for (i=1;i<=k;i++) {
scanf("%d",&aux);
a[aux]=1;
}
for (i=1;i<=k;i++) {
scanf("%d",&aux);
b[aux]=1;
}
scanf("%d",&aux);
rezolva(aux);
}
m=0;k=0;
int poz=0;
for (i=1;i<=n;i++)
{
if (h[i]==1) {m++;poz=i;}
if (l[i]==1) {k++;poz=i;}
}
if ((m==0) && (k==1)) printf("%d",poz);
else if ((m==1) && (k==0)) printf("%d",poz);
else printf("0");
return 0;
}