Cod sursa(job #2212782)
Utilizator | Data | 14 iunie 2018 19:41:29 | |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <bits/stdc++.h>
#define pb push_back
#define ll long long
#define ii pair<int,int>
using namespace std;
vector <int> nod[10001];
int v[10001];
void dfs(int x){
v[x]=1;
for(int j = 0 ; j < nod[x].size() ; j++){
if( v[nod[x][j]] == 0){
dfs(nod[x][j]);
}
}
}
int main()
{
int n , m;
cin >> n >> m;
int a , b;
for(int i = 1 ; i <= m; i++){
cin >> a >> b;
nod[a].pb(b);
nod[b].pb(a);
}
int p (0);
for(int i = 1 ; i <= n ; i++){
if(v[i]==0){
p++;
dfs(i);
}
}
cout << p ;
}