Pagini recente » Cod sursa (job #2495078) | Cod sursa (job #3186026) | Cod sursa (job #3267619) | Cod sursa (job #2538180) | Cod sursa (job #1109411)
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
const int nmax =100002;
bool viz[nmax];
vector <int> a[nmax];
void dfs( int nod )
{
viz[nod] = 1;
for( int i = 0; i <(int)a[nod].size(); ++ i )
{
if ( viz[ a[nod][i] ] == 0 )
dfs( a[nod][i] );
}
}
int main()
{
int n, m, x, y, sol;
fin>>n>>m;
sol = 0;
for( int i = 0; i < m; ++ i )
{
fin>>x>>y;
a[x].push_back( y );
a[y].push_back( x );
}
for ( int i = 1; i <= n; ++ i )
{
if ( viz[i] == 0 )
{
dfs( i );
++sol;
}
}
fout<<sol<<endl;
fin.close();
fout.close();
return 0;
}