信息
- ID
- 809
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 243
- 已通过
- 68
- 上传者
#include<bits/stdc++.h>
#include <iostream>
#include <algorithm>
using namespace std;
const int N =2e6 + 10;
int to[N] , ne[N] , head[N] , id ,a[N];
void add(int u ,int v)
{
to[++id] = v;
ne[id] = head[u];
head[u] = id;
}
int n , q;
int main(){
scanf("%d%d" , &n,&q);
for(int i = 1,u,v;i < n;i++){
scanf("%d%d" , &u,&v);
add(u , v);
add(v , u);
}
while(q--){
int m ;
scanf("%d" , &m);
int sum = 0;
for(int i = head[m] ; i ; i = ne[i])
a[sum++] = to[i];
printf("%d " , sum);
sort(a,a+sum);
for(int i = 0 ;i < sum ;i++)
printf("%d " , a[i]);
puts("");
}
}