Cod sursa(job #2649903)
| Utilizator | Data | 16 septembrie 2020 19:06:17 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
#include <vector>
#define dim 100007
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
int cc, n, m, i, j, f[dim];
vector <int> L[dim];
void dfs (int nod)
{
f[nod]=1;
for (int i=0; i<L[nod].size(); i++)
{
int vecin=L[nod][i];
if (f[vecin]==0)
dfs(vecin);
}
}
int main ()
{
fin>>n>>m;
for (int t=1; t<=m; t++)
{
fin>>i>>j;
L[i].push_back(j);
L[j].push_back(i);
}
for (i=1; i<=n; i++)
if (f[i]==0)
{
cc++;
dfs(i);
}
fout<<cc;
}
