Pagini recente » Borderou de evaluare (job #1004084) | Cod sursa (job #3253107) | Borderou de evaluare (job #169938) | Cod sursa (job #3233195) | Cod sursa (job #2501112)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector <int> G[100005];
int n, m, i, a, b, intr;
bool v[100005];
void dfs(int nod){
v[nod] = 1;
vector <int>::iterator it;
for (it = G[nod].begin(); it != G[nod].end(); it ++)
if (v[*it] == 0)
dfs(*it);
}
int main()
{
fin >> n >> m;
for (i = 1; i <= m; i ++){
fin >> a >> b;
G[a].push_back(b);
G[b].push_back(a);
}
for (i = 1; i <= n; i ++){
if (v[i] == 0){
intr ++;
dfs(i);
}
}
fout << intr;
return 0;
}