Pagini recente » Cod sursa (job #524539) | Cod sursa (job #39964) | Cod sursa (job #1243134) | Cod sursa (job #1207821) | Cod sursa (job #993958)
Cod sursa(job #993958)
#include <fstream>
#include <vector>
#define MAX 100001
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int vizitat[MAX];
int sol;
int n, m, i, j, x, y;
vector <int> v[MAX];
inline void dfs (int x)
{
vizitat[x] = 1;
for ( int i = 0; i < v[x].size(); i ++ )
{
if ( !vizitat[ v[x][i] ] )
dfs ( v[x][i] );
}
}
inline void read ()
{
f >> n >> m;
for ( i = 1; i <= m; i ++ )
{
f >> x >> y;
v[x].push_back(y);
v[y].push_back(x);
}
}
inline void solve ()
{
for ( i = 1; i <= n; i ++ )
if ( !vizitat[i] )
{
sol ++;
dfs(i);
}
}
inline void write ()
{
g << sol << "\n";
}
int main()
{
read();
solve();
write();
return 0;
}