Pagini recente » Cod sursa (job #1858279) | Cod sursa (job #2947747) | Cod sursa (job #2238336) | Cod sursa (job #1840928) | Cod sursa (job #2034214)
#include <iostream>
#include <fstream>
#include <vector>
#include <bitset>
#define lim 100002
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n, m, nr = 0;
vector <int> G[lim];
bitset <lim> B;
void Dfs(int vertex)
{
B[vertex] = 1;
for(vector <int> :: iterator it = G[vertex].begin(); it != G[vertex].end(); ++it)
if(!B[*it])
Dfs(*it);
}
void Read()
{
f >> n >> m;
int x, y;
for(; m; --m)
{
f >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
}
int main()
{
Read();
for(int i = 1 ; i <= n; ++i)
if(!B[i])
{
Dfs(i);
++nr;
}
g << nr;
}