Pagini recente » Cod sursa (job #3125645) | Cod sursa (job #1615397) | Cod sursa (job #1518467) | Cod sursa (job #1554838) | Cod sursa (job #2323518)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int n,m,i,nr,k,z,ng,nu,xg,xu,pg,pu;
int g[1025],u[1025],c[1025];
void grea()
{
if(z==0)
for(i=1;i<=2*k;i++)
g[c[i]]=1;
if(z==1)
{
nr=0;
for(i=1;i<=k;i++)
if(g[c[i]]!=1) g[c[i]]=2, nr++;
for(i=k+1;i<=2*k;i++)
g[c[i]]=1;
if(nr==0) pg=1;
}
if(z==2)
{
nr=0;
for(i=k+1;i<=2*k;i++)
if(g[c[i]]!=1) g[c[i]]=2; nr++;
for(i=1;i<=k;i++)
g[c[i]]=1;
if(nr==0) pg=1;
}
}
void usoara()
{
if(z==0)
for(i=1;i<=2*k;i++)
u[c[i]]=1;
if(z==2)
{
nr=0;
for(i=1;i<=k;i++)
if(u[c[i]]!=1) u[c[i]]=2, nr++;
for(i=k+1;i<=2*k;i++)
u[c[i]]=1;
if(nr==0) pu=1;
}
if(z==1)
{
nr=0;
for(i=k+1;i<=2*k;i++)
if(u[c[i]]!=1) u[c[i]]=2; nr++;
for(i=1;i<=k;i++)
u[c[i]]=1;
if(nr==0) pu=1;
}
}
int main () {
fin>>n>>m;
while(m--)
{
fin>>k;
for(i=1;i<=2*k;i++)
fin>>c[i];
fin>>z;
grea();
usoara();
}
for(i=1;i<=n;i++)
{
if(u[i]==2) xu=i, nu++;
if(g[i]==2) xg=i, ng++;
}
if(ng>1) pg=1;
if(nu>1) pu=1;
if(pg!=pu)
{
if(pg) fout<<xu<<"\n";
else fout<<xg<<"\n";
}
else fout<<0<<"\n";
// scuze balanta, mi-ai dat numa 30 de pt si vreau sa mi schimb ideea, dar nu am una :))
}