题目描述
每天签到一个应用程序,至少可以得 11 分,若前一天也签到了,则当天得分为前一天的得分加 11,一天最多只能得 55 分。
给定一个由 Y
及 N
构成的字符序列,该序列表示小爱每天签到的情况,签到记为 Y
,没到记为 N
。请统计小爱能够获得的总积分。
输入格式
一个字符序列:保证仅由字母 Y
及 N
组成。
输出格式
单个整数,表示获得的积分总数。
数据范围
设 n 表示字符序列的长度,1≤n≤100,000。
样例数据
输入:
YYNYYYYYYNNNYYY
输出:
29
——————————割开——————————割开————————————
如果是s[i]=‘Y’
#cnt+=前一次+1
#前一次>4,cnt+=5
如果是s[i]=‘N’
#cnt+=0
AC代码
#include <bits/stdc++.h>
using namespace std;int main()
{int sum=0,cnt=0;string s;cin>>s;for(int i=0; i<s.size(); i++){if(s[i]=='Y'&&cnt<5){cnt++;}else if(s[i]=='N'){cnt=0;}sum+=cnt;}cout<<sum;return 0;
}