当前位置:首页 > 枚举 > 正文
计蒜客17292选秀
2592+

题目大意:n个评委,已知他们对各种魅力值选手的投票情况,请问哪个魅力值得票最多?

蒜头君参加了一个选秀节目。每位选手表演结束以后,评委们会给选手投票。

每位选手都有一定的魅力值。有的评委只给魅力值大于某个整数的选手投票;有的评委只给魅力值大于等于某个整数的选手投票;有的评委只给魅力值小于某个整数的选手投票;有的评委只给魅力值小于或等于某个整数的选手投票;甚至,有的评委只给魅力值等于某个整数的选手投票。

蒜头君可以任意包装自己,使得自己可以拥有任意魅力值(魅力值可以为实数)。那么蒜头君应该如何包装自己,使得自己能获得最多的票呢?

输入格式

第一行输入一个整数 ,表示评委的数量。

接下里 行,每行输入格式为op x(中间只有一个空格隔开),表示一个评委的信息。

其中op表示一个字符串, 是一个整数:

  • 如果op>,表示该评委只给魅力值大于 的选手投票
  • 如果op>=,表示该评委只给魅力值大于等于 的选手投票
  • 如果op<,表示该评委只给魅力值小于 的选手投票
  • 如果op<=,表示该评委只给魅力值小于等于 的选手投票
  • 如果op=,表示该评委只给魅力值等于 的选手投票

输出格式

输出一个整数,表示蒜头君最多能得到的票数。

数据范围和约定

对于 的数据:op只可能为=

对于 的数据:op只可能为=<>

对于 的数据:

样例解释 1

当蒜头君的魅力值为 的时候,这个时候会获得 票,没有其他的魅力值能获得更多票了。

样例解释 2

当蒜头君的魅力值为 的时候,这个时候会获得 票。

样例输入1

5
>= 1
> 4
<= 7
= 5
< 3

样例输出1

4

样例输入2

15
>= 8
>= 15
> 17
>= 14
<= 15
> 11
<= 5
<= 6
= 10
>= 7
<= 16
< 4
> 12
> 4
<= 13

样例输出2

9

解题思路

用一个数组记录各个魅力值的得票数量,对于每个评委,枚举他所有投票的魅力值,让数组对应元素加1票。由于魅力值可以是实数,大于5和小于6的两个评委,可以让5和6都只能得1票,实际上5.5(大于5小于6的实数)可以得2票,整数之间的小数得票数是一样的,因此需要用一个数表示整数之间的实数。将评委的临界魅力值乘以2,奇数就可以表示中间的实数了。为了保险起见,0和n*2+1这些特殊位置也统计一下。

比较麻烦的就是读入字符了,不想读字符的话,可以之间用字符串来读入,根据第一个字符和第二个字符判断是什么符号,假设读入是魅力值是k,如果是等于号,只有魅力值为k的加1票,如果是大于号,k后面的魅力值都加1票,如果是大于等于号,k以及后面的魅力值都加1票。(小于号同理)最后输出得票最大的那个魅力值的票数。

程序实现

About

坚决不Copy代码!

本文标签:,,,,,,

计蒜客17292选秀:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!