#P7008. 对联
对联
题目描述
要过年了,大家开始对对联,即一个人写出上联,另一个人来对下联。现在给定一个长度为 的上联,为了方便读入,上联中的每个字都用一个正整数代替。你需要为这个上联写一个下联,要求如下:
- 下联必须都是正整数
- 下联中的每一个正整数都不能在上联出现过
- 上联中的第 个正整数和下联中的第 个正整数对应。你可以任意指定对应关系,但是对应关系必须统一且唯一。
例如若你规定上联中的正整数 3 对应下联中的正整数 1,那么上联中的另一个非 3 的数就不能对应正整数 1,且上联中的所有 3 都必须对应 1。
由于你可以任意指定对应关系,所以可能的下联有多种,你需要输出字典序最小的一种。
输入格式
第一行输入一个正整数 ,表示数字的个数。接下来一行包含 个整数,分别表示每一个正整数。
输出格式
输出 个整数,表示下联。
样例
6
3 3 4 2 4 7
1 1 5 6 5 8
【说明】
令 3 对应 1,4 对应 5,2 对应 6,7 对应 8,则下联为 [1,1,5,6,5,8]。此为字典序最小的对联,若令 3 对应 9,则下联为 [9,9,5,6,5,8],也是一种合法的下联,但是不是题目所求的字典序最小的下联。
3
1 2 3
4 5 6
8
11 1 2 11 1 5 6 7
3 4 8 3 4 9 10 12
数据范围与提示
对于 的数据,有
对于 的数据,有
对于 的数据,有
对于另外 的数据,有
对于 的数据,有