Cod sursa(job #3239601)

Utilizator Dia3141Costea Diana Stefania Dia3141 Data 6 august 2024 20:51:52
Problema Balanta Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.42 kb
#include <fstream>
using namespace std;
ifstream cin("balanta.in");
ofstream cout("balanta.out");
int n,m,k,v[1025],a[520],b[520],r,usor=-1,greu=1,aur=2,tu,tg,nru,nrg,sol;
void citeste(int v[]){
    for(int i=1;i<=k;i++)
        cin>>v[i];
}
int main()
{
    cin>>n>>m;
    while(m--){
        cin>>k;
        citeste(a);
        citeste(b);
        cin>>r;
        if(r==0)
            for(int i=1;i<=k;i++)
                v[a[i]]=v[b[i]]=aur;
        else if(r==1)
            for(int i=1;i<=k;i++){
                if(v[a[i]]==usor||v[a[i]]==aur)
                    v[a[i]]=aur;
                else
                    v[a[i]]=greu;
                if(v[b[i]]==greu||v[b[i]]==aur)
                    v[b[i]]=aur;
                else
                    v[b[i]]=usor;
            }
        else
            for(int i=1;i<=k;i++){
                if(v[b[i]]==usor||v[b[i]]==aur)
                    v[b[i]]=aur;
                else
                    v[b[i]]=greu;
                if(v[a[i]]==greu||v[a[i]]==aur)
                    v[a[i]]=aur;
                else
                    v[a[i]]=usor;
            }
    }
    for(int i=1;i<=n;i++)
        if(v[i]==greu)
            tg++,nrg=i;
        else if(v[i]==usor)
            tu++,nru=i;
    if(tu==tg||(tu!=1&&tg!=1))
        sol=0;
    else if(tu==1)
        sol=nru;
    else
        sol=nrg;
    cout<<sol;
    return 0;
}