Cod sursa(job #2189588)

Utilizator mihaistamatescuMihai Stamatescu mihaistamatescu Data 28 martie 2018 17:47:10
Problema Balanta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.51 kb
#include <fstream>
using namespace std;
int n,m,i,j,gr[1025],us[1025],VER,k,sol,x,v1[1025],v2[1025];
int main (){
    ifstream fin ("balanta.in");
    ofstream fout ("balanta.out");
    fin>>n>>m;
    for (i=1;i<=n;i++){
        gr[i]=1;
        us[i]=1;
    }
    for (i=1;i<=m;i++){
        fin>>k;
        for (j=1;j<=n;j++)
            v1[j]=v2[j]=0;

        for (j=1;j<=k;j++){
            fin>>x;
            v1[x]=1;
        }
        for (j=1;j<=k;j++){
            fin>>x;
            v2[x]=1;
        }
        fin>>VER;
        if (VER==1)
            for (j=1;j<=n;j++){
                if (v1[j]==1)
                    us[j]=0;
                if (v2[j]==1)
                    gr[j]=0;
                if (v1[j]==0&&v2[j]==0)
                    us[j]=gr[j]=0;
            }
        else
            if (VER==2)
                for (j=1;j<=n;j++){
                    if (v1[j]==1)
                        gr[j]=0;
                    if (v2[j]==1)
                        us[j]=0;
                    if (v1[j]==0&&v2[j]==0)
                        us[j]=gr[j]=0;
                }
            else
                for (j=1;j<=n;j++)
                    if (v1[j]==1||v2[j]==1)
                        us[j]=gr[j]=0;


    }

    for (i=1;i<=n;i++) {
        if (us[i]==1) {
            sol++;
            k=i;
        }
        if (gr[i]==1) {
            sol++;
            k=i;
        }
    }
    if (sol == 1)
        fout<<k;
    else
        fout<<0;
}