CF1552B.Running for Gold
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
The Olympic Games have just started and Federico is eager to watch the marathon race.
There will be n athletes, numbered from 1 to n, competing in the marathon, and all of them have taken part in 5 important marathons, numbered from 1 to 5, in the past. For each 1≤i≤n and 1≤j≤5, Federico remembers that athlete i ranked ri,j-th in marathon j (e.g., r2,4=3 means that athlete 2 was third in marathon 4).
Federico considers athlete x superior to athlete y if athlete x ranked better than athlete y in at least 3 past marathons, i.e., rx,j<ry,j for at least 3 distinct values of j.
Federico believes that an athlete is likely to get the gold medal at the Olympics if he is superior to all other athletes.
Find any athlete who is likely to get the gold medal (that is, an athlete who is superior to all other athletes), or determine that there is no such athlete.
奥运会刚刚开始,费德里科急切地想要观看马拉松比赛。
将有 n 名运动员参加马拉松比赛,编号从 1 到 n;他们每个人都曾参加过过去 5 场重要的马拉松比赛(编号从 1 到 5)。对于每个 1≤i≤n 和 1≤j≤5,费德里科记得运动员 i 在第 j 场马拉松比赛中获得了第 ri,j 名(例如,r2,4=3 表示运动员 2 在第 4 场马拉松比赛中获得第三名)。
费德里科认为运动员 x 优于运动员 y,当且仅当运动员 x 在至少 3 场过去的马拉松比赛中排名高于运动员 y,即满足 rx,j<ry,j 的不同 j 值的个数至少为 3。
费德里科相信:若一名运动员优于所有其他运动员,则他极有可能在奥运会上夺得金牌。
请找出任意一名极有可能夺得金牌的运动员(即优于所有其他运动员的运动员),或判定不存在这样的运动员。
输入格式
The first line contains a single integer t (1≤t≤1000) — the number of test cases. Then t test cases follow.
The first line of each test case contains a single integer n (1≤n≤50000) — the number of athletes.
Then n lines follow, each describing the ranking positions of one athlete.
The i-th of these lines contains the 5 integers ri,1,ri,2,ri,3,ri,4,ri,5 (1≤ri,j≤50000) — the ranking positions of athlete i in the past 5 marathons. It is guaranteed that, in each of the 5 past marathons, the n athletes have distinct ranking positions, i.e., for each 1≤j≤5, the n values r1,j,r2,j,…,rn,j are distinct.
It is guaranteed that the sum of n over all test cases does not exceed 50000.
第一行包含一个整数 t(1≤t≤1000),表示测试用例的数量。随后是 t 个测试用例。
每个测试用例的第一行包含一个整数 n(1≤n≤50000),表示运动员的数量。
接下来是 n 行,每行描述一名运动员的排名情况。
其中第 i 行包含 5 个整数 ri,1,ri,2,ri,3,ri,4,ri,5(1≤ri,j≤50000),分别表示运动员 i 在过去 5 场马拉松比赛中的排名。保证在每一场过去的马拉松比赛中,这 n 名运动员的排名互不相同;即对每个 1≤j≤5,n 个值 r1,j,r2,j,…,rn,j 互不相同。
保证所有测试用例的 n 值之和不超过 50000。
输出格式
For each test case, print a single integer — the number of an athlete who is likely to get the gold medal (that is, an athlete who is superior to all other athletes). If there are no such athletes, print −1. If there is more than such one athlete, print any of them.
对于每个测试用例,输出一个整数——即可能获得金牌的运动员编号(即优于所有其他运动员的运动员)。若不存在这样的运动员,则输出 −1;若存在多个这样的运动员,则输出其中任意一个即可。
输入输出样例
输入#1
4 1 50000 1 50000 50000 50000 3 10 10 20 30 30 20 20 30 10 10 30 30 10 20 20 3 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 6 9 5 3 7 1 7 4 1 6 8 5 6 7 3 2 6 7 8 8 6 4 2 2 4 5 8 3 6 9 4
输出#1
1 -1 1 5
说明/提示
Explanation of the first test case: There is only one athlete, therefore he is superior to everyone else (since there is no one else), and thus he is likely to get the gold medal.
Explanation of the second test case: There are n=3 athletes.
- Athlete 1 is superior to athlete 2. Indeed athlete 1 ranks better than athlete 2 in the marathons 1, 2 and 3.
- Athlete 2 is superior to athlete 3. Indeed athlete 2 ranks better than athlete 3 in the marathons 1, 2, 4 and 5.
- Athlete 3 is superior to athlete 1. Indeed athlete 3 ranks better than athlete 1 in the marathons 3, 4 and 5.
Explanation of the third test case: There are n=3 athletes.
- Athlete 1 is superior to athletes 2 and 3. Since he is superior to all other athletes, he is likely to get the gold medal.
- Athlete 2 is superior to athlete 3.
- Athlete 3 is not superior to any other athlete.
Explanation of the fourth test case: There are n=6 athletes.
- Athlete 1 is superior to athletes 3, 4, 6.
- Athlete 2 is superior to athletes 1, 4, 6.
- Athlete 3 is superior to athletes 2, 4, 6.
- Athlete 4 is not superior to any other athlete.
- Athlete 5 is superior to athletes 1, 2, 3, 4, 6. Since he is superior to all other athletes, he is likely to get the gold medal.
- Athlete 6 is only superior to athlete 4.
第一个测试用例说明:只有一名运动员,因此他优于所有其他人(因为实际上并不存在其他任何人),所以他很可能获得金牌。
第二个测试用例说明:共有 n=3 名运动员。
- 运动员 1 优于运动员 2。事实上,运动员 1 在马拉松 1、2 和 3 中的排名均优于运动员 2。
- 运动员 2 优于运动员 3。事实上,运动员 2 在马拉松 1、2、4 和 5 中的排名均优于运动员 3。
- 运动员 3 优于运动员 1。事实上,运动员 3 在马拉松 3、4 和 5 中的排名均优于运动员 1。
第三个测试用例说明:共有 n=3 名运动员。
- 运动员 1 优于运动员 2 和 3。由于他优于所有其他运动员,所以他很可能获得金牌。
- 运动员 2 优于运动员 3。
- 运动员 3 不优于任何其他运动员。
第四个测试用例说明:共有 n=6 名运动员。
- 运动员 1 优于运动员 3、4、6。
- 运动员 2 优于运动员 1、4、6。
- 运动员 3 优于运动员 2、4、6。
- 运动员 4 不优于任何其他运动员。
- 运动员 5 优于运动员 1、2、3、4、6。由于他优于所有其他运动员,所以他很可能获得金牌。
- 运动员 6 仅优于运动员 4。
输入解题思路,AI测评打分。不知道怎么写?