Cod sursa(job #1810662)
| Utilizator | Data | 20 noiembrie 2016 13:54:50 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int c[100001],n,m,r,p,u;
bool a[10001][10001],v[100001];
void adancime(int k){
int i;
u++;
c[u]=k;
v[k]=1;
for(i=1;i<=n;i++)
if(a[k][i]==1&&v[i]==0)
adancime(i);
}
int main()
{
fin>>n>>m;
int k,i,j;
for(k=1;k<=m;k++){
fin>>i>>j;
a[i][j]=1;
a[j][i]=1;
}
int nrc=0;
for(i=1;i<=n;i++)
if(v[i]==0){
nrc++;
adancime(i);
}
fout<<nrc;
return 0;
}
