CF587C.Duff in the Army
提高+/省选-
通过率:0%
时间限制:4.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Recently Duff has been a soldier in the army. Malek is her commander.
Their country, Andarz Gu has n cities (numbered from 1 to n) and n - 1 bidirectional roads. Each road connects two different cities. There exist a unique path between any two cities.
There are also m people living in Andarz Gu (numbered from 1 to m). Each person has and ID number. ID number of i - th person is i and he/she lives in city number c__i. Note that there may be more than one person in a city, also there may be no people living in the city.

Malek loves to order. That's why he asks Duff to answer to q queries. In each query, he gives her numbers v, u and a.
To answer a query:
Assume there are x people living in the cities lying on the path from city v to city u. Assume these people's IDs are _p_1, _p_2, ..., p__x in increasing order.
If k = min(x, a), then Duff should tell Malek numbers k, _p_1, _p_2, ..., p__k in this order. In the other words, Malek wants to know a minimums on that path (or less, if there are less than a people).
Duff is very busy at the moment, so she asked you to help her and answer the queries.
最近,达芙(Duff)成为了一名士兵,马莱克(Malek)是她的指挥官。
她们的祖国安达尔兹古(Andarz Gu)共有 n 座城市(编号从 1 到 n)以及 n−1 条双向道路。每条道路连接两个不同的城市,且任意两座城市之间都存在唯一的一条路径。
安达尔兹古还有 m 位居民(编号从 1 到 m),每人有一个唯一的 ID 号;第 i 位居民的 ID 号为 i,居住在城市 ci。注意:一座城市中可能有多人居住,也可能无人居住。

马莱克酷爱发号施令,因此他要求达芙回答 q 个查询。每个查询给出三个数 v、u 和 a。
对于每个查询,回答方式如下:
设位于城市 v 到城市 u 的路径上的所有城市中居住的人数为 x;将这些人的 ID 按升序排列为 p1,p2,…,px。
令 k=min(x,a),则达芙需向马莱克依次报告 k,p1,p2,…,pk。换言之,马莱克希望知道该路径上 ID 最小的 a 个人(若人数不足 a,则报告全部)。
达芙此刻非常忙碌,因此她请你帮忙回答这些查询。
输入格式
The first line of input contains three integers, n, m and q (1 ≤ n, m, q ≤ 105).
The next n - 1 lines contain the roads. Each line contains two integers v and u, endpoints of a road (1 ≤ v, u ≤ n, v ≠ u).
Next line contains m integers _c_1, _c_2, ..., c__m separated by spaces (1 ≤ c__i ≤ n for each 1 ≤ i ≤ m).
Next q lines contain the queries. Each of them contains three integers, v, u and a (1 ≤ v, u ≤ n and 1 ≤ a ≤ 10).
输入的第一行包含三个整数 n、m 和 q(1 ≤ n, m, q ≤ 105)。
接下来的 n − 1 行描述道路。每行包含两个整数 v 和 u,表示一条道路的两个端点(1 ≤ v, u ≤ n,且 v = u)。
下一行包含 m 个整数 c1, c2, ..., cm,以空格分隔(对每个 1 ≤ i ≤ m,满足 1 ≤ ci ≤ n)。
接下来的 q 行为查询。每行包含三个整数 v、u 和 a(1 ≤ v, u ≤ n,且 1 ≤ a ≤ 10)。
输出格式
For each query, print numbers k, _p_1, _p_2, ..., p__k separated by spaces in one line.
对于每个查询,在一行中输出数字 k、p1、p2、…、pk,以空格分隔。
输入输出样例
输入#1
5 4 5 1 3 1 2 1 4 4 5 2 1 4 3 4 5 6 1 5 2 5 5 10 2 3 3 5 3 1
输出#1
1 3 2 2 3 0 3 1 2 4 1 2
说明/提示
Graph of Andarz Gu in the sample case is as follows (ID of people in each city are written next to them):

样例中的安达尔兹·古图的图如下所示(每个城市中人员的编号写在其旁边):

输入解题思路,AI测评打分。不知道怎么写?