题解 CF255A 【Greg's Workout】

引领天下

2020-02-19 20:17:22

Solution

来一发不一样的做法。 我们读入的时候利用桶进行统计,但是我们将这个桶定义成一个结构体,那么我们就可以将运动的名称和做运动的次数绑定起来,然后就可以直接排序后输出了。 代码: ```cpp #include<bits/stdc++.h> using namespace std; int n,x; struct Node{ int s;//该运动做的次数 string c;//该运动的名称 inline bool operator < (const Node& p)const{ return s>p.s;//按做运动的次数降序排序 } }a[5]; int main(){ scanf("%d",&n); a[0].s=a[1].s=a[2].s=0,a[0].c="chest",a[1].c="biceps",a[2].c="back";//初始所有桶清空,并且标记好对应的运动名 for(int i=0;i<n;i++){ scanf("%d",&x); a[i%3].s+=x;//取模后直接加到桶里 } sort(a,a+3);//这里就很舒服,可以直接排序,排完序的第 1 个元素就是做的最多的运动,可以直接输出 cout<<a[0].c; } ```