Pagini recente » Cod sursa (job #3134050) | Cod sursa (job #565181) | Cod sursa (job #1169385) | Cod sursa (job #598054) | Cod sursa (job #1733116)
#include <stdio.h>
#include <stdlib.h>
int x[1001],y[1001],z[1001];
int p[101],ok=0;
void f1(int i,int j)
{
if (p[i]==0 && p[j]==0)
{p[i]=p[j]=1;
ok=0;
}
}
void f2(int i,int j)
{
if (p[i]==0 && p[j]!=0)
{p[j]=0;
ok=0;
}
}
void f3(int i,int j)
{
if (p[j]==0 && p[i]!=0)
{
p[i]=0;
ok=0;
}
}
void f4(int i,int j)
{
if (p[i]!=0 && p[j]!=0)
{p[j]=0;
ok=0;
}
}
void part(int n, int m)
{
int i;
for (i=1; i<=m; i++)
switch (z[i])
{case 0:f1(x[i],y[i]);break;
case 1:f2(x[i],y[i]);break;
case 2:f3(x[i],y[i]);break;
case 3:f4(x[i],y[i]);break;
}
}
int main()
{
FILE *pf,*pg;
pf=fopen("party.in.","r");
pg=fopen("party.out","w");
int n,m,i=1,k=0;
fscanf(pf,"%d %d",&n,&m);
while (!feof(pf))
{
fscanf(pf,"%d %d %d",&x[i],&y[i],&z[i]);
//printf("%d %d %d\n",x[i],y[i],z[i]);
i++;
}
for (i=1; i<=n; i++)
p[i]=1;
while(!ok)
{ok=1;
part(n,m);
}
for (i=1; i<=n; i++)
{if (p[i]) k++;
}
fprintf(pg,"%d",k);
fprintf(pg,"\n");
for (i=1; i<=n; i++)
{if (p[i])
fprintf(pg,"%d",i);
fprintf(pg,"\n");}
return 0;
}