Cod sursa(job #2218859)

Utilizator TudorCaloianCaloian Tudor-Ioan TudorCaloian Data 6 iulie 2018 01:09:34
Problema Balanta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <bits/stdc++.h>
#define NMAX 1025

using namespace std;

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

int n, m, k, r;

bitset < NMAX > st, dr, x, y;

int main()
{
    fin >> n >> m;

    for(int i = 1; i <= n; i++)
        st[i] = dr[i] = 1;

    for(int i = 1; i <= m; i++)
    {
        fin >> k;
        int p;
        y &= 0;
        x &= 0;

        for(int j = 1; j <= k; j++)
            fin >> p, x[p] = 1;
        for(int j = 1; j <= k; j++)
            fin >> p, y[p] = 1;

        fin >> r;
        if(r == 0)
        {
            x.flip();
            y.flip();
            st = (st&x&y);
            dr = (dr&x&y);

        }
        else
            if(r == 1)
            {

                st &= x;
                dr &= y;

            }
            else
            {
                dr &= x;
                st &= y;

            }


    }

    if(dr.count() + st.count() == 1)
    {
        for(int i = 1; i <= n; i++)
            if(dr[i] == 1 || st[i] == 1)
            {
                fout << i;
                return 0;
            }
    }
    else
        fout << 0;



    return 0;
}