Cod sursa(job #2433843)
Utilizator | Biciusca Matei matei123 | Data | 29 iunie 2019 14:06:08 |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream f("dfs.in"); ofstream g("dfs.out");
int n,m,a[10001][10001],viz[10001],nrcomp;
void DFS(int x)
{ int i;
viz[x]=nrcomp;
for(i=1;i<=n;i++)
if (a[x][i]==1 && viz[i]==0) DFS(i);
}
int main()
{ f>>n;
int x,y;
while(f>>x>>y)
{ a[x][y]=1; a[y][x]=1; }
for(int i=1;i<=n;i++)
if (viz[i]==0) { nrcomp++; DFS(i);}
g<<nrcomp;
g.close(); return 0;
}