P8186 [USACO22FEB] Redistributing Gifts S

题目描述

FJ 有 $N$ 个礼物给他的 $N$ 头奶牛,这 $N$ 个礼物和 $N$ 头奶牛都分别按顺序被标记为从 $1$ 到 $N$ 的整数。每头奶牛都有一个愿望单,记录着一个含有 $N$ 个礼物的排列。比起在愿望单中出现更晚的礼物,奶牛更喜欢先出现在愿望单中的礼物。 因为 FJ 太懒了,他直接把 $i$ 号礼物分配给了 $i$ 号奶牛。现在,奶牛们聚在了一起,决定重新分配礼物,以便在重新分配后,每头奶牛都能得到跟原来一样,或是它更喜欢的礼物。 对于每个 $i$($1\le i\le N$),计算出重新分配后, $i$ 号奶牛可能拿到的最好的礼物(这个奶牛经过重新分配后能拿到的最喜欢的礼物)。

输入格式

第一行输入 $N$。之后 $N$ 行每行包含一个奶牛的愿望单。保证这 $N$ 行都是从 $1$ 到 $N$ 的排列,即每一行都不按顺序不重不漏地包含 $1$ 到 $N$ 中的每个整数。

输出格式

输出 $N$ 行,第 $i$ 行输出重新分配后 $i$ 号奶牛可能得到的最好礼物。

说明/提示

**【样例解释】** 在这个例子中,有两种可能的分配方案: - 最初的方案:一号奶牛得到一号礼物,二号奶牛得到二号礼物,三号奶牛得到三号礼物,四号奶牛得到四号礼物。 - 重新分配后的方案:一号奶牛得到一号礼物,二号奶牛得到三号礼物,三号奶牛得到二号礼物,四号奶牛得到四号礼物。可以发现一号和四号奶牛都拿不到比 FJ 分配的更好的礼物,不过二号和三号都可以。 **【数据范围】** $2 \sim 3$ 号测试点满足 $N \le 8$。 对于 $100\%$ 的数据,满足 $1 \le N \le 500$。