Pagini recente » Cod sursa (job #867143) | Cod sursa (job #2946820) | Cod sursa (job #2337735) | Cod sursa (job #1677807) | Cod sursa (job #3164121)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
const int MAX_N=1e5;
vector<int> gr[1+MAX_N];
bool vizitat[1+MAX_N];
void dfs(int nod){
vizitat[nod]=true;
for(auto vecin:gr[nod]){
if(!vizitat[vecin])
dfs(vecin);
}
}
int main()
{
int n, m, a, b, ans, i;
fin>>n>>m;
for(i=0; i<m; i++){
fin>>a>>b;
gr[a].push_back(b);
gr[b].push_back(a);
}
ans=0;
for(int nod=1; nod<=n; nod++){
if(!vizitat[nod]){
dfs(nod);
ans++;
}
}
fout<<ans;
return 0;
}