Cod sursa(job #3187666)

Utilizator answarIonascu Andrei answar Data 29 decembrie 2023 22:52:40
Problema Balanta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.75 kb
#include <fstream>
using namespace std;
ifstream cin("balanta.in");
ofstream cout("balanta.out");
int n,i,m,k,x,t,cnt,weakestlink;
int st[1110],dr[1110],lite[1110],big[1110];
int main () {
    cin>>n>>m;
    while (m>0) {
        cin>>k;
        for (i=1;i<=n;i++) {
            st[i]=0;
            dr[i]=0;
        }
        for (i=1;i<=k;i++) {
            cin>>x;
            st[x]=1;
        }
        for (i=1;i<=k;i++) {
            cin>>x;
            dr[x]=1;
        }
        cin>>t;
        if (t==0) {
            for (i=1;i<=n;i++) {
                if (st[i]==1||dr[i]==1) {
                    lite[i]=1;
                    big[i]=1;
                }
            }
        }
        if (t==1) {
            for (i=1;i<=n;i++) {
                if (st[i]==1) {
                    lite[i]=1;
                }
                if (dr[i]==1) {
                    big[i]=1;
                }
                if (st[i]==0&&dr[i]==0) {
                    lite[i]=1;
                    big[i]=1;
                }
            }
        }
        if (t==2) {
            for (i=1;i<=n;i++) {
                if (st[i]==1) {
                    big[i]=1;
                }
                if (dr[i]==1) {
                    lite[i]=1;
                }
                if (st[i]==0&&dr[i]==0) {
                    lite[i]=1;
                    big[i]=1;
                }
            }
        }
        m--;
    }
    for (i=1;i<=n;i++) {
        if (lite[i]==0) {
            cnt++;
            weakestlink=i;
        }
        if (big[i]==0) {
            cnt++;
            weakestlink=i;
        }
    }
    if (cnt==1) {
        cout<<weakestlink;
    }
    else {
        cout<<0;
    }
}