Pagini recente » Cod sursa (job #1375956) | Cod sursa (job #1977753) | Cod sursa (job #1814811) | Cod sursa (job #2198245) | Cod sursa (job #68986)
Cod sursa(job #68986)
#include<stdio.h>
#include<string.h>
FILE*f=fopen("balanta.in","r");
FILE*g=fopen("balanta.out","w");
int main()
{
long j,m,n,k,a[1500],b[1500],h[1500],l[1500],i,r;
fscanf(f,"%ld %ld",&n,&m);
h[0]=0; l[0]=0;
a[0]=0; b[0]=0;
for(i=1;i<=n;++i) { h[i]=i; l[i]=i;}
for(j=1;j<=m;++j)
{
fscanf(f,"%ld",&k);
for(i=1;i<=k;++i) fscanf(f,"%ld",&a[i]);
for(i=1;i<=k;++i) fscanf(f,"%ld",&b[i]);
fscanf(f,"%ld",&r);
if(r==0)
{
for(i=1;i<=k;++i)
{
h[a[i]]=0; h[b[i]]=0;
l[a[i]]=0; l[b[i]]=0;
}
}
else if (r==1)
{
for(i=1;i<=k;++i)
{
if(h[a[i]]!=0) h[a[i]]=-2;
if(l[b[i]]!=0) l[b[i]]=-2;
}
for(i=1;i<=n;++i)
{
if(h[i]==-2) h[i]=i;
else h[i]=0;
if(l[i]==-2) l[i]=i;
else l[i]=0;
}
}
else
{
for(i=1;i<=k;++i)
{
if(l[a[i]]!=0) l[a[i]]=-2;
if(h[b[i]]!=0) h[b[i]]=-2;
}
for(i=1;i<=n;++i)
{
if(l[i]==-2) l[i]=i;
else l[i]=0;
if(h[i]==-2) h[i]=i;
else h[i]=0;
}
}
}
long p,nrh=0,nrl=0;
r=0;
for(i=1;i<=n;++i)
{
if(h[i]!=0) { nrh++; p=i;}
if (l[i]!=0){ nrl++; r=i;}
}
if(nrl==1&&nrh==0) fprintf(g,"%ld",r);
else if (nrl==0&&nrh==1) fprintf(g,"%ld",p);
else fprintf(g,"0");
return 0;}