Pagini recente » Cod sursa (job #1162313) | Cod sursa (job #2096702) | Cod sursa (job #1603726) | Cod sursa (job #627175) | Cod sursa (job #2219646)
#include <bits/stdc++.h>
using namespace std;
bitset <1024> big,small,a,b;
int n,m,i,t,k,v[3005],r,ans;
int main()
{
ifstream fin("balanta.in");
ofstream fout("balanta.out");
fin>>n>>m;
for(i=1;i<=n;i++)big[i]=1;
for(i=1;i<=n;i++)small[i]=1;
for(t=1;t<=m;t++)
{
fin>>k;
for(i=1;i<=2*k;i++)fin>>v[i];
fin>>r;
if(r==0)
{
for(i=1;i<=n;i++)
a[i]=1,b[i]=1;
for(i=1;i<=2*k;i++)a[v[i]]=0,b[v[i]]=0;
big&=a;
small&=b;
}
if(r==1){
for(i=1;i<=n;i++)
a[i]=0,b[i]=0;
for(i=1;i<=k;i++)a[v[i]]=1;
for(i=1;i<=k;i++)b[v[i+k]]=1;
big&=a;
small&=b;
}
if(r==2){
for(i=1;i<=n;i++)
a[i]=0,b[i]=0;
for(i=k+1;i<=2*k;i++)a[v[i]]=1;
for(i=k+1;i<=2*k;i++)b[v[i-k]]=1;
big&=a;
small&=b;
}
}
if(big.count() + small.count() == 1)
{
for(i=1;i<=n;i++)
if(big[i] == 1 or small[i] == 1)
{
fout<<i<<"\n";
return 0;
}
}
fout<<0<<"\n";
return 0;
}