Cod sursa(job #2547976)

Utilizator Raresr14Rosca Rares Raresr14 Data 15 februarie 2020 22:14:18
Problema Balanta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.35 kb
#include <fstream>
#define X first
#define Y second
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int n,m,i,val,val2,nr,st[1030],dr[1030],f1[1030],f2[1030],j,k,r,ok1,ok2,sol;
int main(){
    fin>>n>>m;
    for(i=1;i<=n;i++)
        f1[i]=f2[i]=1;
    val=1;
    nr=1;
    for(i=1;i<=m;i++){
        fin>>k;
        for(j=1;j<=k;j++)
            fin>>st[j];
        for(j=1;j<=k;j++)
            fin>>dr[j];
        fin>>r;
        if(r==0){
            for(j=1;j<=k;j++)
                f1[st[j]]=f2[st[j]]=0;
            for(j=1;j<=k;j++)
                f1[dr[j]]=f2[dr[j]]=0;
            continue;
        }
        if(r==1){
            nr++;
            val=nr;
            for(j=1;j<=k;j++)
                f1[st[j]]++;
            for(j=1;j<=k;j++)
                f2[dr[j]]++;
            continue;
        }
        if(r==2){
            nr++;
            val=nr;
            for(j=1;j<=k;j++)
                f1[dr[j]]++;
            for(j=1;j<=k;j++)
                f2[st[j]]++;
        }
    }
    for(i=1;i<=n;i++){
        if(f1[i]==val){
            ok1++;
            sol=i;
        }
        if(f2[i]==val){
            ok2++;
            sol=i;
        }
    }
    if((ok1==1&&ok2==0)||(ok1==0&&ok2==1)){
        fout<<sol;
    }else
        fout<<"0";
    return 0;
}