#HK5160. 「ROIR 2017 Day 2」职业培训
「ROIR 2017 Day 2」职业培训
题目描述
译自 ROIR 2017 Day2 T4. Повышение квалификации
某公司的员工互动以层级结构组织。公司共有 名员工,每人分配一个唯一的编号从 到 ,其中编号 为总监。除了总监外,每名员工有且仅有一名直接上级。员工 的直接上级编号为 ,且 。
如果 ,则员工 是员工 的 级下属。对于 ,如果员工 是员工 的 级下属,员工 是员工 的 级下属。
公司总监有机会派遣部分员工参加职业培训课程。为此,他决定选择两个数字 和 ,将编号在 范围内的所有员工送往培训。
在选择 和 之前,总监收到了公司员工的 个请求。第 个请求由两个数字 和 组成,表示员工 请求将他的某个 级下属送往培训。为了节约成本,总监希望选择 和 ,使得送往培训的员工数量最少,但同时满足所有请求。
你的任务是编写一个程序,根据公司上下级关系和员工请求,确定数字 和 ,使得将编号从 到 (含两端)的所有员工送往培训时,所有请求都被满足,且送往培训的员工数量最少。如果存在多个最优的 对,需要找到 值最小的解。
输入格式
输入文件的第一行包含一个整数 ,表示公司员工数量。
第二行包含 个整数 ,表示员工的直接上级编号。
第三行包含一个整数 ,表示员工请求的数量。
接下来的 行描述员工请求,每行包含两个整数 (,,保证员工 至少有一个 级下属)。
输出格式
输出两个整数 和 。如果存在多个最优的 对,输出 值最小的那个。
7
1 1 2 2 3 3
3
1 1
3 1
1 2
3 6
送往培训的员工为编号 的员工。编号 的员工是编号 的员工的 级下属,编号 的员工是编号 的员工的 级下属,编号 的员工是编号 的员工的 级下属。
数据范围与提示
详细子任务附加限制及分值如下表所示:
| 子任务 | 分值 | 的限制 | 额外条件 | 子任务依赖 |
|---|---|---|---|---|
| 对于所有 , | ||||