Cod sursa(job #1601611)

Utilizator adiXMGemene Adrian adiXM Data 16 februarie 2016 03:17:38
Problema Balanta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <fstream>
using namespace std;
ifstream f("balanta.in");
ofstream g("balanta.out");
const int NMAX=1029;
int sol[NMAX],st[NMAX],dr[NMAX];
int main()
{
    int n,m,x,k,stt,drr,ii,jj;
    f>>n>>m;
    for(int i=1;i<=n;i++)
        sol[i]=1;
    for(int q=1;q<=m;q++)
    {
        f>>k;
        for(int i=1;i<=k;i++)
            f>>st[i];
        for(int i=1;i<=k;i++)
            f>>dr[i];
        f>>x;
        if(x==0)
        {
            for(int i=1;i<=k;i++)
                sol[st[i]]=sol[dr[i]]=0;
        }
        else
            if(x==1)
            {
                for(int i=1;i<=k;i++)
                    sol[dr[i]]=0;
            }
        else
            if(x==2)
            {
                for(int i=1;i<=k;i++)
                    sol[st[i]]=0;
            }
        stt=0,drr=0,ii=0,jj=0;
        for(int i=1;i<=n/2;i++)
        {
            if(sol[i]==1)
            {
                stt++;
                ii=i;
            }
            else
                if(sol[i+n/2]==1)
                {
                    drr++;
                    jj=i+n/2+1;
                }
        }
    }
    if(stt+drr==1)
        g<<max(ii,jj)<<"\n";
    else
        g<<"0\n";
    return 0;
}