Pagini recente » Cod sursa (job #1474595) | Cod sursa (job #159119) | Cod sursa (job #631340) | Cod sursa (job #1990433) | Cod sursa (job #131366)
Cod sursa(job #131366)
#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;
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)
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;}