31.签到积分

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。icon-default.png?t=N7T8https://www.iai.sh.cn/problem/364

题目描述

每天签到一个应用程序,至少可以得 1 分,若前一天也签到了,则当天得分为前一天的得分加 1,一天最多只能得 55分。

给定一个由 Y 及 N 构成的字符序列,该序列表示小爱每天签到的情况,签到记为 Y,没到记为 N。请统计小爱能够获得的总积分。

输入格式

一个字符序列:保证仅由字母 Y 及 N 组成。

输出格式

单个整数,表示获得的积分总数。

数据范围

设 𝑛n 表示字符序列的长度,1≤𝑛≤100,000。

>>>>>>分割线>>>>>>>>>>>>>分割线>>>>>>>>>>>>>分割线>>>>>>>>>>>>>分割线>>>>>>>

思路

1.连续签到,n++,最大值为5,则用min(5,n)

        不管n值多大,最大只能取到5

程序

#include <bits/stdc++.h>
using namespace std;
string s;
int ans = 0;
int n = 0;

int main() {
    cin >> s;
    for (int i=0; i<s.size(); i++) {
        if (s[i]=='Y') { // 签到
            n++; / /比上次签到多1分
            ans += min(5, n); // 最多5分
        } else { // 没签到
            n = 0;
        }
    }
    cout << ans << endl;
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子龙烜

坦克大战系列,手把手带你实现

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值