Pagini recente » Cod sursa (job #2972470) | Cod sursa (job #230386) | Cod sursa (job #735942) | Cod sursa (job #43451) | Cod sursa (job #35671)
Cod sursa(job #35671)
#include<stdio.h>
#include<fstream>
#define nmax 1100
using namespace std;
int a[nmax],b[nmax],m1[nmax],m2[nmax];
int aux1[nmax],aux2[nmax];
int main()
{
FILE *fin=fopen("balanta.in","r"),
*fout=fopen("balanta.out","w");
int n,m,k,i,j,r;
fscanf(fin,"%d%d",&n,&m);
for(i=1;i<=m;i++)
{
fscanf(fin,"%d",&k);
memset(aux1,0,sizeof aux1);
memset(aux2,0,sizeof aux2);
for(j=1;j<=k;j++)
fscanf(fin,"%d",&a[j]);
for(j=1;j<=k;j++)
fscanf(fin,"%d",&b[j]);
fscanf(fin,"%d",&r);
for(j=1;j<=k;j++)
{
if(r==1)
aux1[a[j]]=1;
else
aux2[a[j]]=1;
}
for(j=1;j<=k;j++)
{
if(r==1)
aux2[b[j]]=1;
else
aux1[b[j]]=1;
}
if(r==0)
{
for(j=1;j<=k;j++)
{
m1[a[j]]=1;
m1[b[j]]=1;
m2[b[j]]=1;
m2[a[j]]=1;
}
}
else
{
for(j=1;j<=n;j++)
if(m1[j]==0 && aux1[j]==0)
m1[j]=1;
for(j=1;j<=n;j++)
if(m2[j]==0 && aux2[j]==0)
m2[j]=1;
}
}
int n1,n2,v1,v2;
n1=n2=0;
for(i=1;i<=n;i++)
{
if(m1[i]==0)
{
n1++;
v1=i;
}
if(m2[i]==0)
{
n2++;
v2=i;
}
}
if(n1==1 && n2==0)
fprintf(fout,"%d\n",v1);
else
if(n1==0 && n2==1)
fprintf(fout,"%d\n",v2);
else
fprintf(fout,"0\n");
fclose(fin);
fclose(fout);
return 0;
}