Cod sursa(job #1899239)

Utilizator ggaaggaabbiigoteciuc gabriel ggaaggaabbii Data 2 martie 2017 16:43:00
Problema Party Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.47 kb
#include <iostream>
#include <fstream>
#define MAXM 1010
#define MAXN 110
using namespace std;
ifstream f("party.in");
ofstream g("party.out");
pair<int,pair<int,int> > a[MAXM];
int viz[MAXN];
int n,m,ok,i,x,y,op,k;
int main()
{

    f>>n>>m;
    for(i=1; i<=n; i++)
        viz[i]=1;
    for(i=1; i<=m; i++)
        f>>a[i].first>>a[i].second.first>>a[i].second.second;
    while(ok==0)
    {
        ok=1;
        for (i=1; i<=m; i++)
        {
            x=a[i].first;
            y=a[i].second.first;
            op=a[i].second.second;
            if(op==0)
                if(viz[x]==0&&viz[y]==0)
                {
                    viz[x]=1;
                    viz[y]=1;
                    ok=0;
                    break;
                }
            if(op==1)
                if(viz[x]==0&&viz[y]==1)
                {
                    viz[y]=0;
                    ok=0;
                    break;
                }
            if(op==2)
                if(viz[y]==0&&viz[x]==1)
                {
                    viz[x]=0;
                    ok=0;
                    break;
                }
            if(op==3)
                if(viz[x]==1&&viz[y]==1)
                {
                    viz[y]=0;
                    ok=0;
                    break;
                }
        }
    }
    for(i=1; i<=n; i++)
        if(viz[i])k++;
    g<<k<<'\n';
    for(i=1; i<=n; i++)
        if(viz[i])
        g<<i<<'\n';

}