2018USACO铜级第二题(翻译) 下载本文

内容发布更新时间 : 2024/10/25 1:24:13星期一 下面是文章的全部内容请认真阅读。

www.linstitute.net USACO 2017年首轮月赛铜级题2

Bovine Shuffle

农夫John确信快乐的奶牛能产出更多的牛奶,所以他在他的谷仓里装了一个巨大的迪斯科球,并打算教他的奶牛跳舞!

农夫John在看了很多流行的奶牛舞后,决定教他的奶牛跳“Bovine Shuffle\。“Bovine Shuffle\需要他的N只牛(1 ≤ N ≤ 100)按顺序排成一排,依次进行“Shuffle(洗牌)”这个动作,也就是轮换位置排成不同的顺序。为了让奶牛更容易找到自己的位置,John为他的牛按1 … N的顺序排上了号,也就是说第一个奶牛是位置1,第二个是位置2,一直到最后一只是位置N。

每场Shuffle都是用N个数字从a1…aN来标明,换句话说,在这个过程中,原本位置在i的奶牛换到了位置ai (每一次的移动位置ai都在1…N的范围内).每头牛在Shuffle的过程中都会移动到它的新位置。幸运的是,所有这些移动位置ai都是清楚的,不会有两头奶牛跑去同一个位置上。

农场主John给每头奶牛都标上了7位整数位的ID号。如果给你了3次洗牌后的奶牛编号顺序,请给出原本的奶牛顺序。 输入格式(file shuffle.in):

第一行输入N代表了奶牛的总数。下一行输入在a1至an间的整数之间的整数N。最后一样写三次洗牌后,N头奶牛的ID编号顺序。 输出格式(file shuffle.out):

你应该每一行写一头奶牛的ID号,写N行来标明3次洗牌后的奶牛顺序。 样例输入:

5

1 3 4 5 2

1234567 2222222 3333333 4444444 5555555 样品输出: 1234567 5555555 2222222 3333333 4444444