Cod sursa(job #2138450)
| Utilizator | Data | 21 februarie 2018 17:34:49 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <iostream>
#include <fstream>
using namespace std;
int a[2000][2000],viz[1000],nr,n;
void asd (int x)
{
viz[x]=1;
for (int i=1;i<=n;i++)
if (viz[i]==0 && a[x][i]!=0)
asd(i);
}
int main()
{
ifstream cin ("dfs.in");
ofstream cout ("dfs.out");
int m,i,x,y;
cin>>n;cin>>m;
for (i=1;i<=m;i++)
{
cin>>x;cin>>y;
a[x][y]=1;
a[y][x]=1;
}
for (i=1;i<=n;i++)
{
if (viz[i]==0)
{asd (i);nr++;}
}
cout<<nr;
return 0;
}
