Cod sursa(job #412480)
Utilizator | Data | 5 martie 2010 19:06:18 | |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include<fstream>
#include<vector>
using namespace std;
vector <int> V[100005];
int n,i,cate,m,x,y,viz[100005];
void df(int v){
int i;
viz[v]=1;
for(i=0;i<V[v].size();i++)
if(viz[V[v][i]]==0)
df(V[v][i]);
}
int main(){
ifstream fin("dfs.in");
ofstream fout("dfs.out");
fin>>n>>m;
for(i=1;i<=m;i++){
fin>>x>>y;
V[x].push_back(y);
V[y].push_back(x);
}
for(i=1;i<=n;i++)
if(viz[i]==0){
cate++;
df(i);
}
fout<<cate<<'\n';
fin.close();
fout.close();
}