Cod sursa(job #2199245)
Utilizator | Data | 26 aprilie 2018 23:13:20 | |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
#define N 100001
int q[N];
vector<int> a[N];
int r[N];
bool v[N];
void FILL(int i){
if(!v[i]){
v[i]=1;
for(int j=0; j<a[i].size(); ++j)
FILL(a[i][j]);
}
}
int main(){
int n,m,i,x,y,s=0;
in>>n>>m;
for(i=1; i<=m; ++i)
in>>x>>y, a[x].push_back(y), a[y].push_back(x);
for(i=1; i<=n; ++i)
if(!v[i])
FILL(i), ++s;
out<<s;
return 0;
}