#184. [R30E]彩色小球
[R30E]彩色小球
时空限制
1S/512M
题目描述
有 个小球,它们从 到 编号。每个小球 都有一个颜色 ,且第 个小球上写有数字 。
现在需要将这 个小球从左到右排成一排,这个排列需要满足以下两个条件:
- 所有相同颜色的小球必须形成一个连续的块。
- 给定 个限制条件,每个限制形如 ,表示编号为 的小球必须出现在编号为 的小球的左边。
你的任务是找到一个满足所有条件的排列,并使得该排列(由小球编号组成)的字典序最小。如果没有满足条件的排列,输出 -1
。
字典序:对于两个长度为 的序列 和 ,如果存在一个位置 使得对于所有 都有 ,并且 ,那么我们称序列 的字典序小于序列 。
格式
输入格式
第一行包含两个整数 ,分别表示小球的数量和限制条件的数量。
第二行包含 个整数 ,表示编号为 的小球的颜色是 。
接下来 行,每行包含两个整数 ,表示一个限制条件。
输出格式
输出一行 个整数,代表字典序最小的小球编号序列。整数之间用空格隔开。
如果不存在这样的排列,则输出 -1
。
样例
样例输入 #1
4 1
1 2 1 2
3 1
样例输出 #1
2 4 3 1
样例输入 #2
4 1
1 2 1 2
1 4
样例输出 #2
1 3 2 4
数据规模
对于 的数据,。
对于 的数据,。
对于 的数据,,,,且 。
Related
In following contests: