Cod sursa(job #3305328)
| Utilizator | Data | 31 iulie 2025 19:30:15 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
const int MAXN=100005;
int n,m;
int frecv[MAXN];
vector<int> graf[MAXN];
void dfs(int nod)
{
frecv[nod]=1;
for(auto u:graf[nod])
{
if(frecv[u]==0)
dfs(u);
}
}
int main()
{
int ans=0,nod1,nod2;
fin>>n>>m;
for(int i=1;i<=m;++i)
{
fin>>nod1>>nod2;
graf[nod1].push_back(nod2);
graf[nod2].push_back(nod1);
}
for(int i=1;i<=n;++i)
{
if(frecv[i]==0)
{
++ans;
}
dfs(i);
}
fout<<ans;
return 0;
}
