Pagini recente » Cod sursa (job #203871) | Cod sursa (job #384014) | Cod sursa (job #551145) | Cod sursa (job #1838245) | Cod sursa (job #2195551)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
const unsigned NMAX = 1001;
int N , M , VIZITAT[NMAX] ;
int matrice[NMAX][NMAX] ;
int insule ;
void citire()
{
int i,x,y;
fin >> N >> M ;
for(i=1;i<=M;i++)
{
fin >> x >> y ;
matrice[x][y] = 1 ;
matrice[y][x] = 1 ;
}
}
void DFS ( int nod )
{
int vecin ;
VIZITAT[nod] = 1 ;
for ( unsigned i = 1 ; i <= N ; i++)
{
if ( matrice[nod][i] == 1 )
{
vecin = i ;
if ( !VIZITAT[vecin] )
DFS(vecin) ;
}
}
}
int main()
{
int i;
citire();
for(i=1;i<=N;i++)
if( ! VIZITAT [i] )
{
DFS(i);
insule++;
}
fout << insule ;
return 0;
}