3 solutions

  • 1
    @ 2026-1-10 9:15:08
    #include<bits/stdc++.h>
    using namespace std;
    const int N=2e5+10;
    vector<int> g[N];
    vector<int> ans;
    void dfs(int u,int fa)
    {
    	ans.push_back(u);//走到了当前城市
    	for(auto j:g[u])
    	{
    		if(j==fa) continue;//往回走的
    		dfs(j,u);//继续往下
    		ans.push_back(u);//又回来了
    	}
    }
    int main()
    {
    	int n;
    	cin>>n;
    	for(int i=1;i<n;i++)
    	{
    		int a,b;
    		cin>>a>>b;
    		g[a].push_back(b);
    		g[b].push_back(a);
    	}
    
    	for(int i=1;i<=n;i++)
    	{
    		sort(g[i].begin(),g[i].end()); //按照字典序排序
    	}
    	dfs(1,-1);//去遍历所有节点
    	for(auto x:ans)
    	{
    		cout<<x<<" ";
    	}
    	return 0;
    }
    
    • 0
      @ 2026-2-25 20:02:28
      #include<bits/stdc++.h>
      using namespace std;
      const int N=2e5+10;
      vector<int> g[N]; //g[i]里面储存的是i可以走到的所有点 
      void dfs(int u,int fa)
      {
      	cout<<u<<" ";
      	for(auto j:g[u])
      	{
      		if(j==fa) continue;
      		dfs(j,u);
      		cout<<u<<" ";
      	}
      }
      int main()
      {
      	int n;
      	cin>>n;
      	for(int i=1;i<n;i++)
      	{
      		int a,b;
      		cin>>a>>b;
      		g[a].push_back(b);
      		g[b].push_back(a); 
      	}
      	for(int i=1;i<=n;i++)
      	{
      		sort(g[i].begin(),g[i].end());
      	}
      	dfs(1,-1);//当前点和当前点的父节点 
      	return 0;
      }
      
      
      • 0
        @ 2026-2-25 15:01:17
        #include<bits/stdc++.h>
        using namespace std;
        int n;
        vector<int>v[200010];
        void dfs(int x,int fa)
        {
        	cout<<x<<" ";
        	for(auto y:v[x])
        	{
        		if(y!=fa)
        		{
        			dfs(y,x);
        		}
        	}
        	if(x!=1)
        	{
        		cout<<fa<<" ";
        	}
        }
        signed main()
        {
        	cin>>n;
        	for(int i=1;i<n;i++)
        	{
        		int a,b;
        		cin>>a>>b;
        		v[a].push_back(b);
        		v[b].push_back(a);
        	}
        	for(int i=1;i<=n;i++)
        	{
        		sort(v[i].begin(),v[i].end());
        	}
        	dfs(1,0);
            return 0;
        }
        
        • 1

        Information

        ID
        2772
        Time
        1000ms
        Memory
        256MiB
        Difficulty
        3
        Tags
        # Submissions
        14
        Accepted
        9
        Uploaded By