JJL 阿汪 2024-03-17 14:03 采纳率: 50%
浏览 9
已结题

铁人三项怎么做,用C++

铁人三项
内存限制: 256 Mb时间限制: 1000 ms
题目描述
小爱是一名教练,她需要从

n 位报名参加运动队的选手中,挑选出一批队员。一名运动员的身体素质可以分为三项:耐力、爆发、技巧,其中第

i 名选手的耐力、爆发与技巧分别为


x
i




y
i




z
i

小爱希望运动队里的每名队员都能各有长处,如果一个队员的三项素质都不如另一个队员,那就没有出场的机会了。若对于一个运动员

i,存在另一个运动员

j,满足


<


x
i

<x
j




<


y
i

<y
j




<


z
i

<z
j

,则称

i 为不可用的,否则就称


i 是可用的。

请问帮助小爱计算一下,有多少运动员是可用的。

输入格式
第一行:单个正整数

n。
第二行到第

+
1
n+1 行:第

+
1
i+1 行有三个正整数


x
i




y
i




z
i

输出格式
单个正整数:表示可用运动员的数量。

数据范围
对于
30
%
30% 的数据,
1



200
1≤n≤200;
对于
60
%
60% 的数据,
1



5000
1≤n≤5000;
对于
100
%
100% 的数据,
1



100
,
000
1≤n≤100,000;
1



,


,




1≤x
i

,y
i

,z
i

≤n。

  • 写回答

5条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-03-17 14:03
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    思路:读入三个数,将他们排序,然后将原来的输入与排好序的三个数对应上,这样就可以知道自己在其他人中排名是否最高了。 可以开一个结构体存储信息,排序时按照三项素质从小到大排名,然后依次遍历每个选手,如果他的三项素质都是前面所有选手中最大的,则它可用,计数器加一即可。 时间复杂度 O(NlogN) C++ 代码
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月25日
  • 已采纳回答 3月17日
  • 创建了问题 3月17日