Cod sursa(job #1571640)
Utilizator | Data | 18 ianuarie 2016 11:48:46 | |
---|---|---|---|
Problema | Balanta | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.1 kb |
#include <fstream>
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int g[1100],u[1100],n,m,i,k,r,a[1100],b[1100],G,U,mon,j,x;
int main()
{
fin>>n>>m;
for(i=1;i<=n;i++)
{
u[i]=1;
g[i]=1;
}
for(i=1;i<=m;i++)
{
fin>>k;
for(j=1;j<=n;j++)
{
a[j]=0;b[j]=0;
}
for(j=1;j<=k;j++)
{
fin>>x;
a[x]=1;
}
for(j=1;j<=k;j++)
{
fin>>x;
b[x]=1;
}
fin>>r;
if(r==0)
{
for(j=1;j<=n;j++)
{
if(a[j]==1||b[j]==1)
{
g[j]=0;
u[j]=0;
}
}
}
if(r==1)
{
//tot ce e setat cu 1 in a nu este usor
//tot ce e setat cu 1 in b nu este grea
//tot ce e nesetat in ambele nu e nici grea nici usoara
for(j=1;j<=n;j++)
{
if(a[j]==1)
{
u[j]=0;
}
if(b[j]==1)
{
g[j]=0;
}
if(a[j]+b[j]==0)
{
u[j]=0;
g[j]=0;
}
}
}
if(r==2)
{
for(j=1;j<=n;j++)
{
if(a[j]==1)
{
g[j]=0;
}
if(b[j]==1)
{
u[j]=0;
}
if(a[j]+b[j]==0)
{
u[j]=0;
g[j]=0;
}
}
}
}
for(i=1;i<=n;i++)
{
if(g[i]==1)
{
G++;
mon=i;
}
if(u[i]==1)
{
U++;
mon=i;
}
}
if(G+U==1)
{
fout<<mon;
}
else
{
fout<<0;
}
return 0;
}