Pagini recente » Cod sursa (job #1579826) | Cod sursa (job #1765322) | Cod sursa (job #408878) | Cod sursa (job #1907298) | Cod sursa (job #1619491)
#include <fstream>
#include <vector>
#define N 100005
using namespace std;
ifstream f ("dfs.in");
ofstream g ("dfs.out");
int n, m, p[ N ];
vector < int > v[ N ];
void citire()
{
int x, y;
f >> n >> m;
for ( int i = 1; i <= m; ++ i )
{
f >> x >> y;
v[ x ].push_back ( y );
v[ y ].push_back ( x );
}
}
void DFS (int nod)
{
p[ nod ] = 1;
for ( int j = 0; j < ( int )v[ nod ].size(); ++ j )
{
if ( not p[v[ nod ][ j ]] )
DFS ( v[ nod ][ j ] );
}
}
int main()
{
int nrcomp = 0;
citire();
for ( int i = 1; i <= n; ++ i )
if ( not p[ i ] )
{
nrcomp ++;
DFS ( i );
}
g << nrcomp;
return 0;
}