Cod sursa(job #276421)

Utilizator al3x3Alex Chindea al3x3 Data 11 martie 2009 10:09:55
Problema Componente tare conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <stdio.h>
#define MAX 100
int a[MAX][MAX], n, m, k=0;
int main()
{
 int k, i, j, x, y;
 FILE *fi=fopen("ctc.in", "r"), *fo=fopen("ctc.out", "w");
 fscanf(fi, "%d%d", &n, &m);

 for(i=1; i<=m; i++)
 {
  fscanf(fi, "%d%d", &x, &y);
  a[x][y]=1;
 }

 for(k=1; k<=n; k++)
  for(i=1; i<=n; i++)
   for(j=1; j<=n; j++)
    if((a[i][j]==0)&&(i!=j)) a[i][j]=a[i][k]*a[k][j];
 k=0;
 fprintf(fo, "\n");
 for(i=1; i<=n; i++)
  if(!a[i][0])
   {
    k++;
    fprintf(fo, "%d ", i);
    for(j=1; j<=n; j++)
     if((a[i][j]==a[j][i])&&(!a[j][0])&&(i!=j))
      {
       a[i][0]=a[j][0]=k;
       fprintf(fo, "%d ", j);
      }
    fprintf(fo, "\n");
   }

 fclose(fo);
 fo=fopen("ctc.out", "r+");
 fprintf(fo, "%d", k);
 fclose(fi);
 fclose(fo);
 return 0;
}