Pagini recente » Cod sursa (job #1782566) | Cod sursa (job #582664) | Cod sursa (job #2699559) | Cod sursa (job #1716271) | Cod sursa (job #1083139)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("balanta.in");
ofstream g("balanta.out");
int n,m,k,e,a[1028],b[1028],L[1028],H[1028];
void elim()
{
int i,ii=1,jj=1;
sort(a+1,a+k+1);
sort(b+1,b+k+1);
for (i=1;i<=n;++i)
if (i!=a[ii] && i!=b[jj])
L[i]=H[i]=1;
else
{
while (i>=a[ii] && ii<k) ++ii;
while (i>=b[jj] && jj<k) ++jj;
}
}
int solutie()
{
int i,sol=0,nr=0;
for (i=1;i<=n;++i)
if (!L[i])
{
++nr;
if (nr>1) return 0;
sol=i;
}
else if (!H[i])
{
++nr;
if (nr>1) return 0;
sol=i;
}
return sol;
}
int main()
{
int i,j;
f>>n>>m;
for (i=1;i<=m;++i)
{
f>>k;
for (j=1;j<=k;++j)
f>>a[j];
for (j=1;j<=k;++j)
f>>b[j];
f>>e;
switch (e)
{
case 0:
for (j=1;j<=k;++j)
L[b[j]]=H[b[j]]=L[a[j]]=H[a[j]]=1;
break;
case 1:
for (j=1;j<=k;++j)
H[b[j]]=L[a[j]]=1;
elim();
break;
case 2:
for (j=1;j<=k;++j)
H[a[j]]=L[b[j]]=1;
elim();
break;
}
}
g<<solutie()<<'\n';
return 0;
}