Cod sursa(job #1735458)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 29 iulie 2016 23:02:00
Problema Componente tare conexe Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
# include <fstream>
# define DIM 10001
using namespace std;
ifstream fin("ctc.in");
ofstream fout("ctc.out");
int v[DIM][DIM],t[DIM],n,m,x,y,nr,i,j,k;
int main () {
    fin>>n>>m;
    for(i=1;i<=m;i++){
        fin>>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][k]+v[k][j]==2)
                    v[i][j]=1;
    for(i=1;i<=n;i++){
        v[i][i]=1;
        if(t[i]==0){
            nr++;
            for(j=1;j<=n;j++){
                if(v[i][j]+v[j][i]==2){
                    t[j]=nr;
                }
            }
        }
    }
    fout<<nr<<"\n";
    for(i=1;i<=nr;i++){
        for(j=1;j<=n;j++)
            if(t[j]==i)
                fout<<j<<" ";
        fout<<"\n";
    }
    return 0;
}