Pagini recente » Cod sursa (job #1510994) | Cod sursa (job #1309069) | Cod sursa (job #2317080) | Cod sursa (job #758992) | Cod sursa (job #276415)
Cod sursa(job #276415)
#include <stdio.h>
#define max 50
FILE *in, *out;
int v[max][max],h[max];
int i,j,k,n,m,x,y,nr;
int main () {
in = fopen("ctc.in", "r");
out = fopen("ctc.out", "w");
fscanf(in, "%d %d", &n, &m);
for (i=1; i<=m; i++) {
fscanf(in, "%d %d", &x, &y);
v[x][y] = 1;
}
for (k=1; k<=n; k++)
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
if ((v[i][j]==0) && (i!=j))
{
v[i][j] = v[i][k] * v[k][j];
}
for (i=1; i<=n; i++) {
if (h[i] == 0)
{
fprintf(out, "\n%d ",i);
h[i]=1;
nr++;
for (j=1; j<=n; j++)
{
if ((v[i][j]==1)&&(v[j][i]==1)&&(i!=j))
{
h[j]=1;
fprintf(out, "%d ",j);
}
}
}
}
fclose(in);
fclose(out);
out = fopen("ctc.out", "r+");
fprintf(out, "%d", nr);
fclose(out);
return 0;
}