Cod sursa(job #1942723)
Utilizator | Data | 28 martie 2017 09:57:11 | |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n,m,i,k;
vector <int> v[100020];
bool viz[100020];
void dfs(int nod){
viz[nod]=true;
for (int i=0; i<v[nod].size(); i++) if (!viz[v[nod][i]]) dfs(v[nod][i]);
}
int main() {
fin >> n;
fin >> m;
for (i=1; i<=m; i++){
int a,b;
fin >> a;
fin >> b;
v[a].push_back(b);
v[b].push_back(a);
}
for (i=1; i<=n; i++){
if (!viz[i]){
dfs(i);
k++;
}
}
fout << k;
}