Cod sursa(job #2856103)

Utilizator OrzaSERBANSerban Orza OrzaSERBAN Data 23 februarie 2022 12:57:32
Problema Balanta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.45 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("balanta.in");
ofstream g("balanta.out");

int n,m,nr;
bitset<1030>b1,b2,bv1,bv2;
int v1[1030];
int v2[1030];
int main()
{
    int i,j,k,z;
    f>>n>>m;
    //bv1 cand moneda r mai grea
    //bv2 cand e mai usoara
    for(i=1;i<=m;i++)
    {
        f>>k;
        for(j=1;j<=k;j++)
            f>>v1[j];
        for(j=1;j<=k;j++)
            f>>v2[j];
        f>>z;
        bv1=0;
        bv2=0;
        if(z==0)
        {
            for(j=1;j<=k;j++)
            {
                bv1[v1[j]]=1;
                bv1[v2[j]]=1;
            }
            bv2=bv1;
        }
        else
            if(z==1)
        {
            for(j=1;j<=k;j++)
            {
                bv1[v1[j]]=1;
                bv2[v2[j]]=1;
            }
            bv1=(~bv1);
            bv2=(~bv2);
        }
        else
        {
            for(j=1;j<=k;j++)
            {
                bv1[v2[j]]=1;
                bv2[v1[j]]=1;
            }
            bv1=(~bv1);
            bv2=(~bv2);
        }
        b1=(b1|bv1);
        b2=(b2|bv2);

    }
    b1=(~b1);
    b2=(~b2);
    j=0;
    nr=0;
    for(i=1;i<=n;i++)
    {
        if(b1[i]==1)
        {
            nr++;
            j=i;
        }
        if(b2[i]==1)
        {
            nr++;
            j=i;
        }
    }
    if(nr==1)
        g<<j;
    else
        g<<0;
    return 0;
}