Pagini recente » Cod sursa (job #370489) | Cod sursa (job #312936) | Cod sursa (job #1278292) | Cod sursa (job #3123099) | Cod sursa (job #29591)
Cod sursa(job #29591)
/*
*
*
info-arena 2.0 - Arhiva - Balanta
*
*
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define INPUT "balanta.in"
#define OUTPUT "balanta.out"
FILE *fin=fopen(INPUT, "r"),*fout=fopen(OUTPUT, "w");
int n,m,a[1025],b[1025];
void citire();
void rezolva();
void verifica();
int main()
{
citire();
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(int i=1;i<=m;++i)
rezolva();
verifica();
fclose(fin);
fclose(fout);
return 0;
}
void citire()
{
fscanf(fin, "%d %d", &n, &m);
}
void rezolva()
{
int x,temp[1025],cod;
fscanf(fin, "%d", &x);
for(int i=1;i<=2*x;++i)
fscanf(fin, "%d", &temp[i]);
fscanf(fin, "%d", &cod);
if(cod==0)
for(int i=1;i<=2*x;++i)
{
a[temp[i]]=1;
b[temp[i]]=1;
}
else
if(cod==1)
for(int i=x+1;i<=2*x;++i)
{
a[temp[i]]=1;
b[temp[i-x]]=1;
}
else
for(int i=1;i<=x;++i)
{
a[temp[i]]=1;
b[temp[i+x]]=1;
}
}
void verifica()
{
int lunga=0,lungb=0,poz1=0,poz2=0;
for(int i=1;i<=n;++i)
{
if(a[i]==0)
{
++lunga;
poz1=i;
}
if(b[i]==0)
{
++lungb;
poz2=i;
}
}
if(lunga==1&&lungb!=0)
fprintf(fout, "%d\n", poz1);
else
if(lunga!=0&&lungb==1)
fprintf(fout, "%d\n", poz2);
else
fprintf(fout, "0\n");
}