Yakeeswap
描述
YankeeSwap是在未来流行的一个游戏。
n个人站在一排,一开始每个人手上都拿着一个小球,小球的颜色互不相同(颜色从1-n编号)。
然后他们开始一个名为"Swap"的过程。
第一个人选择队伍当中的任意一个人(包括自己),然后交换他们的小球。
第二个人选择队伍当中的任意一个人,然后交换他们的小球。
第三个人...
一直到第n个人。
每个人对不同的小球都有一个喜爱程度,不同的人对相同的小球的喜爱度不一定一样。
每一个人在"Swap"的时候都会想着使自己最终得到的小球喜爱度尽可能大,并且他们知道其余所有人对不同的小球的喜爱程度。
现在已知每个人对每个小球的喜爱程度和初始人们手上的小球颜色。
问他们最后手上会拿着什么颜色的小球。(保证方案唯一)
格式
输入格式
第一行,一个整数n
第二行,一个n-排列,第i个数表示第i个人手上球的颜色
接下来n行,每行n个正整数,表示一个n-排列:
第i行第j列的正整数k代表:第i个人对颜色为k的球的喜爱程度是j
输出格式
输出一行:n个整数,第i个整数表示第i个人手上球的颜色
数与数之间用空格隔开,最后一个数后面不用空格。
样例1
样例输入1
3
3 2 1
1 3 2
1 2 3
2 1 3
样例输出1
1 2 3
样例说明:
第三个人可以得到自己喜爱度最大的小球(颜色为3);
第二个人如果选择自己喜爱度最大的小球(颜色为3),则会被第三个人交换,所以他应该选择喜爱度次大的小球(颜色为2);
第一个人不能得到颜色为2或3的小球,所以他最终将拿着颜色为1的小球。
限制
每个测试点1s
提示
30%的数据满足 n<=5
100%的数据满足 n<=50
来源
一个小游戏