比赛 图论练习和一些常规题 评测结果 AAEEEE
题目名称 无根树转有根树 最终得分 33
用户昵称 Xiaokang_Zhao120 运行时间 0.780 s
代码语言 C++ 内存使用 3.84 MiB
提交时间 2018-06-24 15:08:34
显示代码纯文本
#include <iostream>
#include <vector>
using namespace std;

const int MAXN=1000;
int n,p[MAXN];
vector <int> G[MAXN];

void dfs(int u,int fa)
{
    int d=G[u].size();
    for(int i=0;i<d;i++)
    {
        int v=G[u][i];
        if(fa!=v)
            dfs(v,p[v]=u);
    }
}

int main()
{
    freopen("wgs.in","r",stdin);freopen("wgs.out","w",stdout);
    int root;
    cin>>n>>root;
    for(int i=0;i<n-1;i++)
    {
        int u,v;
        cin>>u>>v;
        G[u].push_back(v);
        G[v].push_back(u);
    }
    p[root]=-1;
    dfs(root,-1);
    int q;
    cin>>q;
    for(int i=0;i<q;i++)
    {
        int qx;
        cin>>qx;
        cout<<p[qx]<<" ";
    }
    return 0;
}