Pagini recente » Cod sursa (job #1505696) | Cod sursa (job #1819937) | Cod sursa (job #1498602) | Cod sursa (job #2384304) | Cod sursa (job #2347324)
#include <fstream>
#include <vector>
#define len 100010
#define pb push_back
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
vector<unsigned> v[len];
unsigned N, M, count;
bool viz[len];
void dfs(unsigned nod)
{
viz[nod] = true;
for(unsigned k = 0; k < v[nod].size(); ++k)
if(!viz[v[nod][k]])
dfs(v[nod][k]);
}
int main()
{
in >> N >> M;
for(unsigned k = 0; k < M; ++k)
{
unsigned x, y;
in >> x >> y;
v[x].pb(y);
v[y].pb(x);
}
for(unsigned k = 1; k <= N; ++k)
if(!viz[k])
{
++count;
dfs(k);
}
out << count;
return 0;
}