Pagini recente » Cod sursa (job #2326658) | Cod sursa (job #2978107) | Cod sursa (job #2699475) | Cod sursa (job #397287) | Cod sursa (job #131378)
Cod sursa(job #131378)
#include<cstdio>
#include<set>
using namespace std;
set<int> a;
set<int> b;
set<int> aux;
set<int> ::iterator it;
int n,m,x[1050],y[1050],i,k;
inline void k0()
{
for(i=1;i<=n;i++) {
it=a.find(x[i]);
if(it!=a.end())
a.erase(it);
it=a.find(y[i]);
if(it!=a.end())
a.erase(it);
it=b.find(x[i]);
if(it!=b.end())
b.erase(it);
it=b.find(y[i]);
if(it!=b.end())
b.erase(it);}
}
inline void k1()
{
aux.clear();
it=a.end();
for(i=1;i<=n;i++)
if(a.find(x[i])!=it)
aux.insert(x[i]);
a.clear();
a.insert(aux.begin(),aux.end());
aux.clear();
it=b.end();
for(i=1;i<=n;i++)
if(b.find(y[i])!=it)
aux.insert(y[i]);
b.clear();
b.insert(aux.begin(),aux.end());
}
inline void k2()
{
aux.clear();
it=a.end();
for(i=1;i<=n;i++)
if(a.find(y[i])!=it)
aux.insert(y[i]);
a.clear();
a.insert(aux.begin(),aux.end());
aux.clear();
it=b.end();
for(i=1;i<=n;i++)
if(b.find(x[i])!=it)
aux.insert(x[i]);
b.clear();
b.insert(aux.begin(),aux.end());
}
int main()
{
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++){a.insert(i);b.insert(i);}
for(;m;m--){
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%d",&x[i]);
for(i=1;i<=n;i++) scanf("%d",&y[i]);
scanf("%d",&k);
if(k==0) k0();
if(k==1) k1();
if(k==2) k2();
}
if(a.size()==1&&b.size()==0)
printf("%d\n",*a.begin());
else
if(b.size()==1&&a.size()==0)
printf("%d\n",*b.begin());
else printf("0\n");
fclose(stdout);
return 0;}