Cod sursa(job #25285)
Utilizator | Data | 4 martie 2007 11:48:47 | |
---|---|---|---|
Problema | Balanta | Scor | 40 |
Compilator | cpp | Status | done |
Runda | preONI 2007, Runda 3, Clasa a 10-a | Marime | 2.36 kb |
#include <stdio.h>
int k1,j1,n,m,k,i,j,x,a[2000],b[2000],c[2000],l,l1,ok;
int main()
{
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
scanf("%d %d",&n,&m);
for (i=1;i<=n;++i) a[i]=5;
ok=0;
for (i=1;i<=m;++i)
{
if (ok==0)
{
scanf("%d ",&k);
for (j=1;j<=k;++j)
scanf("%d ",&b[j]);
for (j=1;j<=k;++j)
scanf("%d ",&c[j]);
scanf("%d",&x);
if (x==0)
{
for (j=1;j<=k;++j)
{
a[b[j]]=0;
a[c[j]]=0;
}
}
else
if (x==1)
{
for (j=1;j<=k;++j)
{
if (a[b[j]]==0)
{
printf("%d\n",c[j]);
ok=1;
break;
}
else
if (a[c[j]]==0)
{
printf("%d\n",b[j]);
ok=1;
break;
}
else
{
a[b[j]]=2;
a[c[j]]=1;
}
}
}
else
{
for (j=1;j<=k;++j)
{
if (a[b[j]]==0)
{
printf("%d\n",c[j]);
ok=1;
break;
}
else
if (a[c[j]]==0)
{
printf("%d\n",b[j]);
ok=1;
break;
}
else
{
a[b[j]]=1;
a[c[j]]=2;
}
}
}
}
}
k=0;j=0;l=0;
if (ok==0)
{
for (i=1;i<=n;++i)
{
if (a[i]==1)
{
k++;
k1=i;
}
else
if (a[i]==2)
{
j++;
j1=i;
}
else
if (a[i]==5)
{
l++;
l1=i;
}
}
if (k==0 && j==0 && l==1) printf("%d\n",l1);
else
if (k==1 && l==0 && (j==0 || j>1)) printf("%d\n",k1);
else
if (j==1 && l==0 && (k==0 || k>1)) printf("%d\n",j1);
else
printf("0\n");
}
return 0;
}