Pagini recente » Cod sursa (job #446712) | Cod sursa (job #2220089) | Cod sursa (job #468417) | Cod sursa (job #2220097) | Cod sursa (job #830383)
Cod sursa(job #830383)
#include <fstream>
#include <vector>
using namespace std;
const char iname[] = "dfs.in";
const char oname[] = "dfs.out";
ifstream fin(iname);
ofstream fout(oname);
int N , M , i , j , x , y , sol;
bool viz[ 100005 ];
vector < int > v[ 100005 ];
void DFS ( int nod )
{
vector < int > :: iterator it;
viz[ nod ] = 1;
for ( it = v[ nod ].begin(); it != v[ nod ].end(); ++it )
if ( !viz[ *it ] )
DFS( *it );
}
int main()
{
fin >> N >> M;
for ( i = 1; i <= M; ++i )
{
fin >> x >> y;
v[ x ].push_back( y );
v[ y ].push_back( x );
}
for ( i = 1; i <= N; ++i )
{
if ( !viz[ i ] )
{
++sol;
DFS( i );
}
}
fout << sol << '\n';
return 0;
}