6. 游乐园
题目ID:9479必做题100分
最新提交:
Runtime Error
5 分
历史最高:
Runtime Error
5 分
时间限制: 1000ms
空间限制: 524288kB
题目描述
鱼大大和羊大大准备去方特游乐园游玩,在此之前他们做足了游玩攻略,游乐园中有10个游乐设施供有个玩乐。羊大大从多个APP上找到了该游乐园的各个项目共n条实时评价,并和鱼大大一起统计。
羊大大每找到一个游乐设施的好评,鱼大大就将该设施的受欢迎度度+1,羊大大每找到一个游乐设施的差评,鱼大大就将该设施的受欢迎度-1。现在鱼大大请求你写出程序,帮助安排他们的游玩顺序。他们将从最受欢迎的游乐设施开始游玩。若有多个设施的受欢迎度相同,将按字符串排序较小的优先游玩。若受欢迎度为负数则不游玩。
这 10 个游乐设施分别是:
bumpercar
bungeejumping
carousel
ferriswheel
hauntedhouse
jumpingmachine
pendulum
pirateship
rollercoaster
shootinggame
输入格式
一行n表示接来下n条评价
接下来n行 每行一个娱乐设施名字以及评价
输出格式
游玩顺序,中间使用“>>>”连接
样例
Input 1
10 bumpercar good shootinggame good pirateship bad rollercoaster good pendulum bad shootinggame good pirateship bad pirateship good pirateship bad shootinggame bad
Output 1
bumpercar>>>rollercoaster>>>shootinggame>>>bungeejumping>>>carousel>>>ferriswheel>>>hauntedhouse>>>jumpingmachine
样例解释
在这 10 个游乐设施里,有两个不受欢迎的设施"pendulum" 和 “pirateship”,所以不游玩这两个,其他的游乐设施按照受欢迎程度游玩。
数据范围
n≤30
#include <bits/stdc++.h>
using namespace std;
struct x {
string str;
int a=0;
};
bool cmp(x a, x b) {
return a.a > b.a;
}
int main()
{
x a[15] = {}, b[15] = {};
int n;
cin >> n;
string ing,str;
a[1].str = "bumpercar";
a[2].str = "bungeejumping";
a[3].str = "carousel";
a[4].str = "ferriswheel";
a[5].str = "hauntedhouse";
a[6].str = "jumpingmachine";
a[7].str = "pendulum";
a[8].str = "pirateship";
a[9].str = "rollercoaster";
a[10].str = "shootinggame";
for (int i = 1; i <= n; i++) {
cin>>str;
cin >> ing;
if(str== "bumpercar") {
if (ing == "good") a[1].a++;
else a[1].a--;
}
if (str == "bungeejumping") {
if (ing == "good") a[2].a++;
else a[2].a--;
}
if (str == "carousel") {
if (ing == "good") a[3].a++;
else a[3].a--;
}
if (str == "ferriswheel") {
if (ing == "good") a[4].a++;
else a[4].a--;
}
if (str == "hauntedhouse") {
if (ing == "good") a[5].a++;
else a[5].a--;
}
if (str == "jumpingmachine") {
if (ing == "good") a[6].a++;
else a[6].a--;
}
if (str == "pendulum") {
if (ing == "good") a[7].a++;
else a[7].a--;
}
if (str == "pirateship") {
if (ing == "good") a[8].a++;
else a[8].a--;
}
if (str == "rollercoaster") {
if (ing == "good") a[9].a++;
else a[9].a--;
}
if (str == "shootinggame") {
if (ing == "good") a[10].a++;
else a[10].a--;
}
}
int e = 0;
for (int i = 1; i <= 10; i++) {
if (a[i].a >= 0){
b[i].a = a[i].a;
b[i].str = a[i].str;
e++;
}
}
stable_sort(b+1, b + n+1, cmp);
cout << b[1].str;
for (int i = 2; i <= e; i++) {
cout <<">>>"<< b[i].str;
}
return 0;
}