Pagini recente » Cod sursa (job #445622) | Cod sursa (job #2927809) | Cod sursa (job #2365198) | Cod sursa (job #489487) | Cod sursa (job #131362)
Cod sursa(job #131362)
#include<cstdio>
#include<set>
using namespace std;
set <int> a;
set <int> b;
set <int> aux;
set <int> ::iterator it;
int n,N,m,x[1050],y[1050],used[1050],i,k;
int main()
{
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
scanf("%d %d",&n,&m);
N=n;
for(i=1;i<=n;i++){
a.insert(i);
b.insert(i);}
for(;m;m--){
scanf("%d",&n);
memset(used,0,sizeof(used));
for(i=1;i<=n;i++) {scanf("%d",&x[i]);used[x[i]]=1;}
for(i=1;i<=n;i++) {scanf("%d",&y[i]);used[y[i]]=1;}
scanf("%d",&k);
if(k==0)
for(i=1;i<=n;i++) {
if((it=a.find(x[i]))!=a.end())
a.erase(it);
if((it=b.find(x[i]))!=b.end())
b.erase(it);
if((it=a.find(y[i]))!=a.end())
a.erase(it);
if((it=b.find(y[i]))!=b.end())
b.erase(it);}
if(k==1){
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());}
if(k==2){
aux.clear();
it=a.end();
for(i=1;i<=n;i++)
if(a.find(x[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(y[i])!=it)
aux.insert(x[i]);
b.clear();
b.insert(aux.begin(),aux.end());}
}
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;}