Pagini recente » Cod sursa (job #33778) | Cod sursa (job #113522) | Cod sursa (job #1537755) | Cod sursa (job #3190242) | Cod sursa (job #26803)
Cod sursa(job #26803)
#include <stdio.h>
#include <string.h>
#define input "balanta.in"
#define output "balanta.out"
#define nmax 1025
int g[nmax],u[nmax],a[nmax],b[nmax];
int n,m,i,j,k,r,val,sol,s1,s2,v1,v2,x,k1;
int main()
{
FILE *fin,*fout;
fin=fopen(input,"r");
fout=fopen(output,"w");
fscanf(fin,"%d %d",&n,&m);
for (i=1;i<=n;i++)
{g[i]=1; u[i]=1;}
for (k1=1;k1<=m;k1++)
{
fscanf(fin,"%d",&k);
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for (j=1;j<=k;j++)
{fscanf(fin,"%d",&x); a[x]=1;}
for (j=1;j<=k;j++)
{fscanf(fin,"%d",&x); b[x]=1;}
fscanf(fin,"%d",&r);
r=r;
if (r==0)
for (i=1;i<=n;i++)
if (a[i]+b[i]>0)
{g[i]=0; u[i]=0;}
else;
else
if (r==1)
for (i=1;i<=n;i++)
{
if (a[i]==g[i]&&a[i]==1) g[i]=1;
else g[i]=0;
if (b[i]==u[i]&&b[i]==1) u[i]=1;
else u[i]=0;
}
else
for (i=1;i<=n;i++)
{
if (a[i]==u[i]&&a[i]==1) u[i]=1;
else u[i]=0;
if (b[i]==g[i]&&b[i]==1) g[i]=1;
else g[i]=0;
}
}
v1=v2=s1=s2=0;
for (i=1;i<=n;i++)
if (g[i]) {v1++; s1=i;}
for (i=1;i<=n;i++)
if (u[i]) {v2++; s2=i;}
fclose(fin);
if (v1==1&&v2==0) fprintf(fout,"%ld",s1);
else
if (v2==1&&v1==0) fprintf(fout,"%ld",s2);
else fprintf(fout,"0");
fclose(fout);
return 0;
}