Pagini recente » Cod sursa (job #577291) | Cod sursa (job #2664752) | Cod sursa (job #1677064) | Cod sursa (job #2357125) | Cod sursa (job #1573606)
#include <cstdio>
using namespace std;
#define NMAX 1030
int a[NMAX][NMAX], n, m, k ,v[NMAX],i,j,x,fals,usor,greu,nr,egale;
bool bun;
int main()
{
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
scanf("%d%d",&n,&m);
for(i = 1; i <= m; i++)
{
scanf("%d",&k);
for(j = 1; j <= k;j++){
scanf("%d",&x);
a[i][x] = 1;
}
for(j = 1; j <= k;j++){
scanf("%d",&x);
a[i][x] = 2;
}
scanf("%d",&a[i][0]);
}
for(i = 1; i <= n; i++)
{
bun =true;
for(j = 1; j <= m; j++)
{if(a[j][i] == 0)
if(a[j][0] == 0)
v[j] = 0;
else
{ bun = false;
break;
}
else{
if(a[j][0] == 0){ bun = false;break;}
if(a[j][i] == a[j][0])
v[j] = 2;//greu
else
v[j] = 1;//usor
}
}
usor=greu=egale=0;
for(j = 1; j <= m; j++)
{
switch(v[j])
{
case 1: usor++;break;
case 2: greu++; break;
case 0: egale++;break;
}
v[j] = 0;
}
if(usor>0 && greu>0 || egale == m)
bun=false;
if(bun){
nr++;
fals = i;
}
}
if(nr == 1) printf("%d", fals);
else printf("0");
return 0;
}