Pagini recente » Cod sursa (job #2192962) | Cod sursa (job #3217214) | Cod sursa (job #1568999) | Cod sursa (job #1162763) | Cod sursa (job #287173)
Cod sursa(job #287173)
#include <cstdio>
#define lm 1100
int a[lm][lm], v[2*lm], r[lm], n, m;
int main()
{
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
scanf("%d %d",&n,&m);
int i, j, k;
for (i=1; i<=m; i++)
for (j=1; j<=n; j++) a[i][j]=-1;
for (i=1; i<=m; i++)
{
scanf("%d",&k);
for (j=1; j<=2*k; j++) scanf("%d",&v[j]);
scanf("%d",&r[i]);
for (j=1; j<=k; j++) a[i][v[j]]=r[i];
for (j=k+1; j<=2*k; j++)
if (r[i]==1) a[i][v[j]]=2; else
if (r[i]==2) a[i][v[j]]=1; else a[i][v[j]]=0;
}
int sol, ok;
sol=0;
for (i=1; i<=n; i++)
{
ok=1;
// mai grea
for (j=1; j<=m; j++)
if (a[j][i]==0 || a[j][i]==2) ok=0; else
if (a[j][i]==-1 && r[j]!=0) ok=0;
if (ok)
{
if (!sol) sol=i; else
{
sol=0;
break;
}
} else
{
// mai usoara
ok=1;
for (j=1; j<=m; j++)
if (a[j][i]==0 || a[j][i]==1) ok=0; else
if (a[j][i]==-1 && r[j]!=0) ok=0;
if (ok)
{
if (!sol) sol=i; else
{
sol=0;
break;
}
}
}
}
printf("%d",sol);
}