TMB's blog

By TMB, history, 9 years ago, In Russian

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

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;

}

  • Vote: I like it
  • -12
  • Vote: I do not like it