每天签到一个应用程序,至少可以得?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
#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;
}