Cod sursa(job #2189403)

Utilizator mihaistamatescuMihai Stamatescu mihaistamatescu Data 28 martie 2018 10:42:46
Problema Balanta Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.72 kb
#include <fstream>
using namespace std;
int n,m,i,j,gr[1025],us[1025],VER,k,sol1,sol2,solsol1,solsol2,x,v1[513],v2[513];
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<=k;j++){
            fin>>x;
            v1[j]=x;
        }
        for (j=1;j<=k;j++){
            fin>>x;
            v2[j]=x;
        }
        fin>>VER;
        if (VER==1)
            for (j=1;j<=k;j++){
                us[v1[j]]=0;
                gr[v2[j]]=0;
            }
        else
            if (VER==2)
                for (j=1;j<=k;j++){
                    us[v2[j]]=0;
                    gr[v1[j]]=0;
                }
                else
                    if (VER==0)
                        for (j=1;j<=k;j++){
                            us[v2[j]]=0;
                            gr[v1[j]]=0;
                            us[v1[j]]=0;
                            gr[v2[j]]=0;
                        }

    }
    for (i=1;i<=n;i++){
        if (gr[i]==1&&sol1==0){
            solsol1=i;
            sol1=1;
        }
        else
            if (sol1==1&&gr[i]==1){
                solsol1=0;
            }
        if (us[i]==1&&sol2==0){
            solsol2=i;
            sol2=1;
        }
        else
            if (sol2==1&&us[i]==1){
                solsol2=0;
            }
    }
    if (solsol1==0&&solsol2!=0)
        fout<<solsol2;
    else
        if (solsol2==0&&solsol1!=0)
            fout<<solsol1;
        else
            if ((solsol1==0&&solsol2==0)||(solsol1!=0&&solsol2!=0))
                fout<<0;
}