Проблема с поиском в глубину. Пожалуйста помогите разобраться

Revision ru1, by TMB, 2016-01-10 21:02:29

Я написал два почти одинаковых кода. Но вторая программа проходит по всем вершинам графа, что не делает первая программа, пожалуйста объясните почему?

using namespace std;

int i,n,m,x,y,used[10001];

vector g[100001];

void dfs(int v){

used[v]=1;

//cout<<v<<endl;

for(i=0;i<g[v].size();i++){

    if (used[g[v][i]]!=1) dfs(g[v][i]);

}

}

int main(){

cin>>n>>m;

for(i=0;i<m;i++){

    cin>>x>>y;

    g[x].push_back(y);

    g[y].push_back(x);

}

dfs(1);

return 0;

}

using namespace std;

int i,n,m,x,y,used[10001];

vector g[100001];

void dfs(int v){

used[v]=1;

//cout<<v<<endl;

for (auto i : g[v]){

    if (used[i]!=1) dfs(i);

}

}

int main(){

cin>>n>>m;

for(i=0;i<m;i++){

    cin>>x>>y;

    g[x].push_back(y);

    g[y].push_back(x);

}

dfs(1);

return 0;

}

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru1 Russian TMB 2016-01-10 21:02:29 1047 Первая редакция (опубликовано)