Cod sursa(job #276415)

Utilizator robertzelXXX XXX robertzel Data 11 martie 2009 10:04:26
Problema Componente tare conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#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;
}