Cod sursa(job #673370)
Utilizator | Coman Ana-Maria comananamaria | Data | 4 februarie 2012 12:47:14 |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include<fstream>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int a[2000][2000],n,m,viz[2000],cc;
void citire(){
in>>n>>m;
for(int i=1;i<=m;i++){
int x,y;
in>>x>>y;
a[x][y]=a[y][x]=1;
}
}
void df(int nod){
//out<<nod<<" ";
for(int i=1;i<=n;i++)
if(a[nod][i]==1 && viz[i]==0){
//out<<i<<" ";
viz[i]=1;
df(i);
}
}
int main(){
citire();
for(int i=1;i<=n;i++)
if(!viz[i]){
cc++;
viz[i]=1;
df(i);
}
out<<cc;
return 0;
}