Cod sursa(job #2685267)
| Utilizator | Data | 16 decembrie 2020 14:29:24 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 50 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.72 kb |
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
bool visted[10000];
vector<int> a[10000];
void dfs(int k)
{
if(!visted[k])
{
visted[k]=1;
for(int i=0;i<a[k].size();++i)
{
if(!visted[a[k][i]])
{
dfs(a[k][i]);
}
}
}
}
int main()
{
int n,x,y,m,cnt=0;
fin>>n>>m;
for(int i=1;i<=m;++i)
{
fin>>x>>y;
a[x].push_back(y);
a[y].push_back(x);
}
for(int i=1;i<=n;++i)
{
if(!visted[i])
{
++cnt;
dfs(i);
}
}
fout<<cnt;
return 0;
}
