Pagini recente » Cod sursa (job #2867482) | Cod sursa (job #1465699) | Cod sursa (job #1634969) | Cod sursa (job #415034) | Cod sursa (job #1899239)
#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';
}