Pagini recente » Cod sursa (job #2629472) | Cod sursa (job #449734) | Cod sursa (job #2125985) | Cod sursa (job #1364884) | Cod sursa (job #2659200)
#include <iostream>
#include<fstream>
#include<bits/stdc++.h>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int m, n, nr;
int vizitat[100001];
vector<int> adj[100001];
void dfs(int i)
{
vizitat[i] = 1;
for(auto x : adj[i])
{
if(vizitat[x] == 0)
dfs(x);
}
}
int main() {
f >> n >> m;
for(int i = 0; i < m; i++)
{
int x,y;
f >> x >> y;
adj[x].push_back(y);
adj[y].push_back(x);
}
for(int i = 0; i < n; i++)
{
if(vizitat[i + 1] == 0)
{
nr++;
dfs(i + 1);
}
}
g << nr;
return 0;
}