Pagini recente » Borderou de evaluare (job #3318431) | Cod sursa (job #3333786) | Cod sursa (job #395028) | Borderou de evaluare (job #3016968) | Cod sursa (job #3318436)
#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;
int f[100001];
int n,m,cnt=0;
vector<vector<int>> v;
void DFS(int nod)
{
f[nod]=1;
for(int vecin:v[nod])
{
if(f[vecin]==0)
DFS(vecin);
}
}
int main()
{
ifstream cin("dfs.in");
ofstream cout("dfs.out");
cin>>n>>m;
v.assign(n+1,{});
for(int i=0;i<m;i++)
{
int x,y;
cin>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
for(int i=1;i<=n;i++)
{
if(f[i]==0)
{
DFS(i);
cnt++;
}
}
cout<<cnt;
return 0;
}