Cod sursa(job #1076070)

Utilizator Savin.MirceaSavin Mircea Ionut Savin.Mircea Data 9 ianuarie 2014 21:04:49
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include<iostream>
#include<fstream>
using namespace std;
struct muchii{int x,y;};
muchii muchie[100];
int vizitat[100];
int m,n;
int nr=0;
void citire()
{
  int i;
  ifstream f("dfs.in");
  f>>n;
  f>>m;
  for(i=1;i<=m;i++)
    {
    f>>muchie[i].x;
    f>>muchie[i].y;
    }
  f.close();
}

void Viziteaza(int start)
{
    vizitat[start]=1;
    int i;
    for(i=1;i<=n;i++)
    {
        if(vizitat[muchie[start].y]==0)
            Viziteaza(muchie[start].y);
    }

}
void DFS()
{
    int i;
    for(i=1;i<=n;i++)
    {
        if(vizitat[i]==0)
        {
             Viziteaza(i);
             nr++;
        }
    }
}

int main()
{
    int i;
    citire();
    for(i=1;i<=n;i++)
    vizitat[i]=0;
    DFS();
    ofstream f("dfs.out");
    f<<nr;
    f.close();
    return 0;
}