CF1081B Farewell Party
题目描述
Chouti 和他的同学们即将步入大学。为了彼此告别,全班计划举办一场盛大的告别派对,期间同学、老师和家长们载歌载舞。
Chouti 记得有 $n$ 个人参加了这场派对。为了让派对更有趣,每个人都戴了一顶奇怪的帽子,这些帽子共有 $n$ 种,编号为 $1, 2, \ldots, n$。可能有多人戴了同一种帽子,也可能有些帽子无人认领。
派对结束后,第 $i$ 个人说,有 $a_i$ 个人戴的帽子和他不同。
时隔数日,Chouti 已经忘记了其他人戴的帽子,但他对此感到好奇。设 $b_i$ 表示第 $i$ 个人所戴帽子的种类编号,Chouti 希望你找出任意一种可能的 $b_1, b_2, \ldots, b_n$,使得它们不与任何人的陈述矛盾。由于有些人可能记忆不准确,可能根本不存在解。
输入格式
第一行包含一个整数 $n$($1 \le n \le 10^5$),表示参加派对的人数。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i \le n-1$),表示每个人的陈述。
输出格式
如果无解,输出一行 "Impossible"。
否则,输出一行 "Possible",接着输出 $n$ 个整数 $b_1, b_2, \ldots, b_n$($1 \le b_i \le n$)。
如果有多组解,输出任意一组均可。
说明/提示
在第一个样例的答案中,所有人都戴了同一种帽子,因此每个人都会说没有人戴与自己不同种类的帽子。
在第二个样例的答案中,前两个人戴了 $1$ 号帽子,其余三人戴了 $2$ 号帽子。
因此,前两个人会说有三个人戴的帽子与自己不同。同理,后三个人会说有两个人戴的帽子与自己不同。
在第三个样例中,可以证明不存在解。
在第一个和第二个样例中,也存在其他可能的帽子分配方案。
由 ChatGPT 4.1 翻译