Pagini recente » Cod sursa (job #408015) | Cod sursa (job #815408) | Cod sursa (job #1012351) | Cod sursa (job #119988) | Cod sursa (job #904645)
Cod sursa(job #904645)
//Parcurgere_DFS- componente conexe
//aflati nr componentelor conexe ale grafului
#include<fstream>
#include<vector>
#define MAX 100001
using namespace std;
int ap[MAX];
vector <int> vec[MAX];
ifstream f("dfs.in");
ofstream g("dfs.out");
void DF(int nodPlecare){
int i;
ap[nodPlecare]++;
for(i=0;i<vec[nodPlecare].size();i++){
int nodver=vec[nodPlecare][i];
if(!ap[nodver]){
ap[nodver]++;
DF(nodver);
}
}
}
int main(){
int n,m;
f>>n>>m;
int i,j;
while(m){
m--;
f>>i>>j;
vec[i].push_back(j);
}
int nrConex=0;
for(i=1;i<=n;i++)
if(!ap[i]){
ap[i]++;
nrConex++;
DF(i);
}
g<<nrConex;
}