题意:给定数n,输入一字符串s,满足条件情况让Vasya喝尽可能多果汁。
题解:Vasya从0开始的,题目说j>=4时才喝一杯果汁,所以从i=n(第二圈)开始遍历,一直遍历到s的末尾,寻找对于任意的i,满足s[i]的前三个s[]行为是否一致。每当满足一次条件,计数器+1.输出。(注意是围成一圈而不是单排)
代码:
#include <bits/stdc++.h>
using namespace std;
inline int read(){
int x=0,w=1;
char ch=0;
while(ch<'0'||ch>'9'){
if(ch=='-')w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=x*10+ch-'0';
ch=getchar();
}
return x*w;
}
int main(){
int n=read();
string s;
cin>>s;
int count=0;
int len=s.length();
for(int i=n;i<len;i+=n){
if(s[i-3]==s[i-2]&&s[i-2]==s[i-1]){
count++;
}
}
cout<<count;
return 0;
}