Cod sursa(job #2842671)

Utilizator domnytamDomnita Maria domnytam Data 1 februarie 2022 12:22:58
Problema Componente tare conexe Scor 12
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
//#include <iostream>
#include <fstream>
#define NMAX 102
using namespace std;
ifstream cin ("ctc.in");
ofstream cout("ctc.out");
int n;
int ctc[NMAX];
int D[NMAX][NMAX];
int A[NMAX][NMAX];
void rw ();
void citire();
void afisare();
int nr;
int main()
{
int x, y;
citire();
rw();
for(x=1; x<=n; x++)
    if(ctc[x]==0)
    {
      nr++;
      for(y=1; y<=n; y++)
         if(D[x][y] && D[y][x]) ctc[y]=nr;
    }
  cout<<nr<<'\n';
  for(int i=1; i<=nr; i++, cout<<'\n')
    for(int j=1; j<=n; j++)
        if(ctc[j]==i) cout <<j<<' ';

    return 0;
}
void rw ()
{
  int x, y, z;
  for(z=1; z<=n;z++)
    for(x=1; x<=n;x++)
      for(y=1; y<=n;y++)
      {
        if(D[x][z] && D[z][y]) D[x][y]=1;
      }
}
void citire()
{
  int i, x, y, m;
  cin>>n>>m;
  for(i=0; i<m;i++)
  {
    cin>>x>>y;
    D[x][y]=A[x][y]=1;
  }
}