Pagini recente » Cod sursa (job #135727) | Cod sursa (job #292815) | Cod sursa (job #1220267) | Cod sursa (job #1323553) | Cod sursa (job #2323571)
#include <iostream>
#include <fstream>
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[1055],u[1055],c[1055];
void grea()
{
if(z==0)
for(i=1;i<=2*k;i++)
g[c[i]]=1;
if(z==1)
{
for(i=k+1;i<=2*k;i++)
g[c[i]]=1;
for(i=1;i<=k;i++)
if(g[c[i]]==0) g[c[i]]=2;
}
if(z==2)
{
for(i=1;i<=k;i++)
g[c[i]]=1;
for(i=k+1;i<=2*k;i++)
if(g[c[i]]==0) g[c[i]]=2;
}
if(z==0) return;
for(i=1;i<=n;i++)
{
if(g[i]==0) g[i]=1;
if(g[i]==2) g[i]=0;
}
}
void usoara()
{
if(z==0)
for(i=1;i<=2*k;i++)
u[c[i]]=1;
if(z==2)
{
for(i=k+1;i<=2*k;i++)
u[c[i]]=1;
for(i=1;i<=k;i++)
if(u[c[i]]==0) u[c[i]]=2;
}
if(z==1)
{
for(i=1;i<=k;i++)
u[c[i]]=1;
for(i=k+1;i<=2*k;i++)
if(u[c[i]]==0) u[c[i]]=2;
}
if(z==0) return;
for(i=1;i<=n;i++)
{
if(u[i]==0) u[i]=1;
if(u[i]==2) u[i]=0;
}
}
int main () {
fin>>n>>m;
while(m--)
{
fin>>k;
for(i=1;i<=2*k;i++)
fin>>c[i];
fin>>z;
grea();
usoara();
}
nu=ng=0;
for(i=1;i<=n;i++)
{
if(u[i]==0) xu=i, nu++;
if(g[i]==0) xg=i, ng++;
}
if(nu==1 && ng==0) fout<<xu<<"\n";
else if(nu==0 && ng==1) 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 :))
}