Pagini recente » Cod sursa (job #2556282) | Cod sursa (job #1680795) | Cod sursa (job #11684) | Cod sursa (job #2216187) | Cod sursa (job #1575501)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define MAX 100001
ifstream f("dfs.in");
ofstream g("dfs.out");
int n , m , nr , x , y;
vector < int > G[MAX];
bool used[MAX];
void dfs ( int i )
{
used [ i ] = true;
for ( vector < int > ::iterator j = G[i].begin() ; j != G[i].end() ; j++ )
{
if (! used[ (*j) ] )
dfs( (*j ) ) ;
}
}
int main()
{
f >> n >> m;
for ( ; m-- ; )
{
f >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
for ( int i = 1; i <= n ; i++ )
{
if ( !used[i] )
{
dfs(i);
nr++;
}
}
g << nr;
return 0;
}