Cod sursa(job #1317740)

Utilizator wGEORGEWGeorge Cioti wGEORGEW Data 15 ianuarie 2015 09:03:28
Problema Balanta Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.98 kb
#include <fstream>
using namespace std;
 
ifstream fin("balanta.in");
ofstream fout("balanta.out");
 
int n, m, i, j, k, ok, minim, maxim, h, l;
int H[2000], L[2000], v1[2000], v2[2000];
int t, u, val1, val2, v3[2000];
 
void initializare(){
    for(i = 1; i <= n; i ++){
        H[i] = 1; L[i] = 1;
    }
    return;
}
 
int main(){
    fin >> n >> m;
    initializare();
    for(k = 1; k <= m; k ++){
        fin >> t;
        for(i = 1; i <= t; i ++){
            fin >> v1[i];
            v3[v1[i]] = 1;
        }
        for(i = 1; i <= t; i ++){
            fin >> v2[i];
            v3[v1[i]] = 1;
        }
        fin >> u;
        if(u == 0){
            for(i = 1; i <= t; i ++){
                H[v1[i]] = 0;
                L[v1[i]] = 0;
                H[v2[i]] = 0;
                L[v2[i]] = 0;
            }
            for(i = 1; i <= n; i ++)
                v3[i] = 0;
        }
        if(u == 1){
            for(i = 1; i <= t; i ++){
                H[v2[i]] = 0;
                L[v1[i]] = 0;
            }
            for(i = 1; i <= n; i ++){
                if(v3[i] == 0){
                    H[i] = 0;
                    L[i] = 0;
                }
                else
                    v3[i] = 0;
            }
        }
        if(u == 2){
            for(i = 1; i <= t; i ++){
                H[v1[i]] = 0;
                L[v2[i]] = 0;
            }
            if(v3[i] == 0){
                    H[i] = 0;
                    L[i] = 0;
                }
                else
                    v3[i] = 0;
        }
    }
    for(i = 1; i <= n; i ++){
        if(H[i] != 0){
            h ++;
            val1 = i;
        }
        if(L[i] != 0){
            l ++;
            val2 = i;
        }
    }
    if((h == 0 && l == 1) || (h == 1 && l == 0)){
        if(h == 0 && l == 1)
            fout << val2;
        else
            fout << val1;
    }
    else
        fout << 0;
    return 0;
}