AT_arc062_b.[ABC046D] AtCoDeerくんと変なじゃんけん
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
シカ的 AtCoDeer 君正在和朋友 TopCoDeer 君进行一场游戏。这场游戏共进行 N 回合。在每一回合中,每位玩家都可以出“石头”或“布”。不过,每位玩家必须满足以下条件:
(※)在每一回合结束后,(到目前为止出过的“布”的次数)≤(到目前为止出过的“石头”的次数)。
在这场游戏中,每位玩家的得分为(获胜回合数)−(失败回合数)。AtCoDeer 君拥有特殊能力,在游戏开始前就已经知道了 TopCoDeer 君在 N 回合中每一回合要出的手。请你为 AtCoDeer 君决定每一回合要出的手,使得 AtCoDeer 君的得分最大化。TopCoDeer 君每一回合要出的手的信息以字符串 s 给出。s 的第 i 个字符(1≤i≤N)为 g 时表示第 i 回合 TopCoDeer 君出“石头”,为 p 时表示出“布”。
输入格式
输入为以下格式,从标准输入读入。
s
输出格式
请输出 AtCoDeer 君能够获得的最大得分。
输入输出样例
输入#1
gpg
输出#1
0
输入#2
ggppgggpgg
输出#2
2
说明/提示
限制条件
- 1≤N≤105
- N=∣s∣
- s 的每个字符都是
g或p - s 所表示的出手顺序满足条件(※)
样例解释 1
每一回合都和对手出相同的手,可以得到 0 分,这就是最大值。
样例解释 2
例如依次出“石头”、“布”、“石头”、“布”、“石头”、“石头”、“布”、“布”、“石头”、“布”,可以赢 3 次,输 1 次,所以得分为 2,这是最大值。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?