Cod sursa(job #3186475)

Utilizator Alexbora13Bora Ioan Alexandru Alexbora13 Data 23 decembrie 2023 11:17:26
Problema Balanta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<bits/stdc++.h>

using namespace std;

ifstream fin("balanta.in");
ofstream fout("balanta.out");

int n,m,k,r,i,x,sh,sl;
int greu[1025],usor[1025],a[1025],b[1025];

int main()
{
    fin>>n>>m;
    for(i=1; i<=n; i++) greu[i]=usor[i]=1;
    while(m--)
    {
        fin>>k;
        for(i=1; i<=n; i++)
            a[i]=b[i]=0;
        for(i=1; i<=k; i++)
            fin>>x, a[x]=1;
        for(i=1; i<=k; i++)
            fin>>x, b[x]=1;
        fin>>r;
        if(r==0)
            for(i=1; i<=n; i++) if(a[i] || b[i]) greu[i]=0, usor[i]=0;
        if(r==1)
            for(i=1; i<=n; i++) greu[i]*=a[i], usor[i]*=b[i];
        if(r==2)
            for(i=1; i<=n; i++) greu[i]*=b[i], usor[i]*=a[i];
    }
    for(i=1; i<=n; i++)
        sh+=greu[i], sl+=usor[i];
    if(sh==1 && sl==0)
    {
        i=1;
        while(!greu[i]) i++;
        fout<<i<<'\n';
    }
    if(sh==0 && sl==1)
    {
        i=1;
        while(!usor[i])
            i++;
        fout<<i<<'\n';
    }
    if(sh && sl)
        fout<<"0\n";
    return 0;
}