#P51374. 「COCI 2020.10」Tenis

「COCI 2020.10」Tenis

题目描述

译自 COCI 2020/2021 Contest #1 T5「Tenis」

Mirko 是网球的忠实粉丝。很快一场有 nn 位运动员参加的重要的锦标赛就要举办了。Mirko 花了数年时间调查网球运动员,并且收集了这些选手的丰富的统计信息。他已经为所有球员的能力做了排名,而且是对三种不同的网球场分别统计的:即草场、红土场和硬地场三种。更准确地说,对于每种网球场,他已经确定了球员们的顺序(排名表),其中第一个球员是最强的,最后一个则是最弱的。

在这场锦标赛中,每位球员会和所有其他所有球员进行恰好一场比赛,所以总共会有 n(n1)2\frac{n (n - 1)}{2} 场比赛。一场网球比赛是不会以平局结束的,而且在比赛对应的网球场地上更强的球员会赢得比赛。赛事组织者也了解这件事,所以他们决定让每场比赛在能让获胜者的最强大的场地中进行,也就是说,获胜者有着在对应排名表中最靠前的名次。如果某些场地在这种意义下是一样好的(球员 AABB 之间的获胜者的名次相同的,例如:球员 AA 在场地 11 上会赢得比赛,球员 BB 在场地 22 上会赢得比赛,而且他们在对应的排名表上都排名第三),他们会选择让输掉比赛的球员的名次最靠前的场地。如果场地仍然一样好,则选择编号最小的场地。

请确定这场锦标赛的最终结果:在每种场地上进行的比赛数量,以及每位运动员赢得的比赛场数。

输入格式

第一行一个正整数 nn,表示运动员的数量。运动员从 11nn 编号。
接下来三行,第 iinn 个数,为 11nn 中的整数的一个排列,表示第 ii 种场地的球员的排名表,从最强的球员开始。

输出格式

第一行输出三个数,分别表示在第一种、第二种和第三种场地上进行的比赛数量。
第二行输出 nn 个数,第 ii 个数表示运动员 ii 赢得的比赛场数。

样例 1

3
3 2 1
1 3 2
3 2 1
1 2 0
2 0 1

球员 1,21, 2 之间的比赛在场地 22 中进行,因为赢家(球员 11)有着最靠前(第一名)的排名。对于球员 1,31, 3 之间的比赛,赢家在三种场地中都有着相同的排名,但是输家在场地 22 中的排名更靠前。对于球员 2,32, 3 之间的比赛,场地 1,31, 3 是一样好的,所以选择了编号较最小的场地(场地 11)。

4
4 3 2 1
3 1 2 4
1 2 3 4
3 2 1
1 0 2 3

数据范围与提示

子任务编号 分值 特殊限制
11 3232 1n3001 \le n \le 300
22 1414 1n30001 \le n \le 3000
33 5454 1n1051 \le n \le {10}^5

译者:PinkRabbit