Cod sursa(job #1571157)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 17 ianuarie 2016 13:16:59
Problema Balanta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.95 kb
#include <fstream>

#include <algorithm>

using namespace std;

int n,m,i,j,v[1024],ap,a2,a1,w[1024],ok,x,nr,b[1024],ok2;

ifstream fin ("balanta.in");

ofstream fout ("balanta.out");

int main (){

    fin>>n>>m;
    for (i=1;i<=n;i++)
        w[i] = i;
    nr = 0;
    for (i=1;i<=m;i++){
        for (j=1;j<=nr;j++)
            b[j] = v[j];
        sort (b+1,b+nr+1);
        fin>>nr;
        ok = 0;
        for (j=1;j<=2*nr;j++){
            fin>>v[j];
            if (v[j] == b[j])
                ok = 1;
        }
        fin>>x;
        if (x == 0){
            for (j=1;j<=2*nr;j++)
                w[v[j]] = 0;
        }
        else {
            //if (x == 1){
                if (ok == 1)
                    for (j=1;j<=nr;j++)
                        w[v[j]] = 0;
                else
                    for (j=nr+1;j<=2*nr;j++)
                        w[v[j]] = 0;
           // }
        }
        //ok2 = 1;
        //for (j=1;j<=nr*2;j++)
            //fout<<v[j]<<" ";
       // fout<<"\n";
    }
    ap = 0;
    for (i=1;i<=n;i++)
        if (w[i] != 0){
            ap++;
            ok = i;
        }
    if (ap == 2){
        if (nr == 1){
            a2 = 0;
            a1 = 0;
            for (i=1;i<=n;i++){
                a1 = 0;
                if (w[i] != 0){
                    for (j=1;j<=2*nr;j++)
                        if (v[j] == w[i])
                            a1++;
                    if (a1 == 0)
                        a2++;
                }
            }
            if (a2 == 0)
                fout<<ok;
            else
                fout<<0;

        }
        else
            fout<<0;
    }
    else{
        if (ap < 2)
            fout<<ok;
        else
            fout<<0;
    }
    //fout<<"\n";
   // for (i=1;i<=n;i++)
      //  fout<<w[i]<<" ";
    //fout<<"\n";
    //for (i=1;i<=2*nr;i++)
        //fout<<v[i]<<" ";


    return 0;
}