Pagini recente » Cod sursa (job #254260) | Cod sursa (job #1792582) | Cod sursa (job #636575) | Cod sursa (job #2668922) | Cod sursa (job #1745073)
#include <stdio.h>
int v1[1001],v2[1001],v3[1001];
int a[101],ok=0;
void funct(int i,int j)
{
if (a[i]==0 && a[j]==0)
{
a[i]=a[j]=1;
ok=0;
}
}
void funct2(int i,int j)
{
if (a[i]==0 && a[j]!=0)
{
a[j]=0;
ok=0;
}
}
void funct3(int i,int j)
{
if (a[j]==0 && a[i]!=0)
{
a[i]=0;
ok=0;
}
}
void funct4(int i,int j)
{
if (a[i]!=0 && a[j]!=0)
{
a[j]=0;
ok=0;
}
}
void functie_partajare(int n, int m)
{
int i;
for (i=1; i<=m; i++)
switch (v3[i])
{
case 0:
funct(v1[i],v2[i]);
break;
case 1:
funct2(v1[i],v2[i]);
break;
case 2:
funct3(v1[i],v2[i]);
break;
case 3:
funct4(v1[i],v2[i]);
break;
}
}
int main()
{
FILE *fin,*fout;
fin=fopen("party.in","r");
fout=fopen("party.out","w");
int n,m,i=1,k=0;
fscanf(fin,"%d %d",&n,&m);
while (!feof(fin))
{
fscanf(fin,"%d %d %d",&v1[i],&v2[i],&v3[i]);
i++;
}
for (i=1; i<=n; i++)
a[i]=1;
while(!ok)
{
ok=1;
functie_partajare(n,m);
}
for (i=1; i<=n; i++)
{
if (a[i]) k++;
}
fprintf(fout,"%d",k);
fprintf(fout,"\n");
for (i=1; i<=n; i++)
{
if (a[i])
fprintf(fout,"%d",i);
fprintf(fout,"\n");
}
return 0;
}