Pagini recente » Cod sursa (job #1922604) | Cod sursa (job #1545489) | Cod sursa (job #95932) | Cod sursa (job #1133300) | 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;
}