Pagini recente » Cod sursa (job #2645642) | Cod sursa (job #1531402) | Cod sursa (job #2087886) | Cod sursa (job #1395299) | Cod sursa (job #1108212)
#include<fstream>
#include<vector>
using namespace std;
ifstream fin( "dfs.in" );
ofstream fout( "dfs.out" );
const int nmax = 100000;
bool v[nmax];
vector <int> g[nmax];
void dfs( int nod ) {
v[nod] = 1;
for( int i = 0; i < (int)g[nod].size(); ++ i ) {
if ( v[ g[nod][i] ] == 0 )
dfs( g[nod][i] );
}
}
int main()
{
int n, m, sol, a, b;
fin>>n>>m;
sol = 0;
for( int i = 0; i < m; ++ i ) {
fin>>a>>b;
g[a].push_back( b );
g[b].push_back( a );
}
for ( int i = 0; i < n; ++ i ) {
if ( v[i] == 0 ) {
dfs( i );
++sol;
}
}
fout<<sol<<'\n';
fin.close();
fout.close();
return 0;
}