课程安排(Plan of Lectures)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
课程安排(Plan of Lectures)
题目描述
Ivan 是编程老师,一学年要讲 节不同主题的课。每节课恰好讲一个主题、每个主题恰好讲一次。他需要安排第 节课分别讲哪个主题,即给出一个 的排列 ,其中 表示第 节课讲的主题编号。
除恰好一个主题外,每个主题 都有先修主题 ( 表示无先修)。主题必须在其先修主题之后才能讲。题目保证至少存在一种满足先修约束的安排。
此外有 个"特殊主题对" :若 紧接在 之后讲(即存在 使 且 ),学生理解更好,要求这 个特殊对全部满足。
问是否存在满足所有约束的安排;若存在,输出任意一个合法排列。
输入格式
第一行两个整数 。 第二行 个整数 , 是 的先修主题( 表示无)。恰好有一个为 ,且至少存在一种合法先修顺序。 接下来 行,每行 — 特殊对。所有 互不相同,所有 互不相同。
输出格式
若不存在合法安排,输出 0;否则输出 个互不相同的整数 — 任意一个合法排列。
样例输入 #1
5 2
2 3 0 5 3
1 5
5 4
样例输出 #1
3 2 1 5 4
样例输入 #2
5 2
2 3 0 5 3
1 5
5 1
样例输出 #2
0
样例输入 #3
5 1
2 3 0 5 3
4 5
样例输出 #3
0
样例输入 #4
5 4
2 3 0 5 3
2 1
3 5
5 2
1 4
样例输出 #4
3 5 2 1 4
数据范围
;。
知识点与难度
本题涉及的知识点从属于 GESP 七级,难度等级:⭐⭐⭐
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~4 | 样例(输出 3 2 1 5 4 / 0 / 0 / 3 5 2 1 4) |
| 1 | 20 | 5~10 | 小规模随机 |
| 2 | 15 | 11~13 | Hack: 合法链 / 特殊对成环 / 祖先违规 |
| 3 | 30 | 14~22 | 中等规模随机 |
| 4 | 25 | 23~25 | 随机回归, 压力 |