Cod sursa(job #333406)

Utilizator levap1506Gutu Pavel levap1506 Data 22 iulie 2009 16:15:14
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <vector>
using namespace std;
int N,M,i,a,b,nr,conex;
char visit[100010];
vector<int> myV[100010];

void proceed(int i){
    visit[i]=1;
    nr++;
    vector<int>::iterator it;
    for (it=myV[i].begin(); it!=myV[i].end(); it++)
    {
        int cid=*it;
        if (!visit[*it])
           proceed(*it);
    }
}

int main () {
    ifstream in;
    ofstream out;
    in.open("dfs.in");
    out.open("dfs.out");
    in >> N >> M;
    for (i=0;i<M;i++) {
        in>>a>>b;
        myV[a].push_back(b);
    }
    for (i=1;i<=N;i++)
      if(!visit[i]) {
          nr=0;
          proceed(i);
          if (nr>conex) conex=nr;
      }
    out<<conex;
    out.close();
    return 0;
}