AtcoderABC308场比赛题解

文章提供了三道编程题,分别涉及序列的单调非递减性检查、字符串处理与查找寿司价格,以及基于成功率的人员排序。每道题都分析了问题的关键点和解决方案,涉及C++中的条件判断、字符串处理、查找、排序和自定义比较函数等技术。
摘要由CSDN通过智能技术生成

#AA - New Scheme A - New Scheme

 

 

题目大意

给定八个整数S1, S2, ..., S8,如果它们满足以下三个条件,则打印"Yes",否则打印"No"。

- 序列(S1, S2, ..., S8)是单调非递减的。换句话说,S1 ≤ S2 ≤ ... ≤ S8。
- S1, S2, ..., S8都在100和675之间,包括100和675。
- S1, S2, ..., S8都是25的倍数。

分析

这是一个关于序列和条件判断的问题。需要判断给定的序列是否满足所有条件。

思路

可以通过遍历序列并检查每个元素是否满足所有条件来解决这个问题。需要检查序列是否是单调非递减的,所有元素是否在100和675之间,以及所有元素是否是25的倍数。

所用到的知识点

- C++的条件判断
- 序列和循环

B.

 

 

题目大意

Takahashi 在一家寿司店吃了N个寿司。第i个盘子的颜色由字符串Ci表示。

寿司的价格对应于盘子的颜色。对于每个i=1,...,M,颜色由字符串Di表示的盘子上的寿司价值Pi日元。如果颜色与D1,...,DM中的任何一个不符,那么它的价值就是P0日元。

找出Takahashi 吃的寿司的总价格。

分析

这是一个关于字符串处理和查找的问题。需要根据给定的颜色和价格找出Takahashi 吃的寿司的总价格。

思路

可以通过遍历Takahashi 吃的所有寿司,并查找每个寿司的颜色对应的价格来解决这个问题。如果找不到对应的颜色,那么就使用P0作为价格。

所用到的知识点

- C++的字符串处理
- 查找和循环

CC - Standings

 

 

题目大意

有N个人,编号为1到N,他们各自抛了几次硬币。知道第i个人的抛硬币结果中,有Ai次是正面,Bi次是反面。

定义第i个人的抛硬币成功率为 Ai/(Ai+Bi)。按照他们的成功率降序排列这N个人,如果成功率相同,则按照他们的编号升序排列。

分析

这是一个关于排序和比较的问题。需要根据给定的成功率对人进行排序。

思路

可以通过创建一个包含人编号和他们的成功率的结构体数组来解决这个问题。然后,可以使用C++的sort函数对这个数组进行排序。需要自定义一个比较函数,该函数首先比较成功率,如果成功率相同,则比较人的编号。

所用到的知识点

- C++的结构体
- C++的排序函数
- 自定义比较函数

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值