比赛 |
图论练习和一些常规题 |
评测结果 |
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;
}