Cod sursa(job #1699481)

Utilizator foxy55Ana Dori foxy55 Data 7 mai 2016 14:24:18
Problema Componente tare conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
/*
*/
#include<iostream>
#include<fstream>
using namespace std;
int n,g[102][102],m,pred[102],succ[102],k,nrc;
ifstream fin("a");
void citire()
{
    fin>>n>>m;

    int x,y;
    for(int i=1;i<=m;i++)
        {
            fin>>x>>y;
            g[x][y]=1;
        }
}
void df_succ(int nod)
{
    succ[nod]=nrc;

    for(int i=1;i<=n;i++)
        if(g[nod][i]==1&&!succ[i])
            df_succ(i);

}
void df_pred(int nod)
{
    pred[nod]=nrc;

    for(int i=1;i<=n;i++)
        if(g[i][nod]==1&&!pred[i])
            df_pred(i);

}
int main()
{
    citire();
    int i,j;
    nrc=1;
    for(i=1;i<=n;i++)

        if(!succ[i])
        {
            succ[i]=nrc;
            df_succ(i);
            df_pred(i);
            for(j=1;j<=n;j++)
                if(succ[i]!=pred[i])
                    succ[i]=pred[i]=0;
            nrc++;
        }


    cout<<nrc;


    return 0;
}