题目:
郭老师有草莓和山楂两种水果共计n个,她打算用这些水果做一串冰糖葫芦。她会把这串冰糖葫芦的水果组成用字符串的形式告诉你,其中’B’表示草莓,’W’表示山楂,例如:BBW,表示这串冰糖葫芦的水果按照顺序是草莓、草莓、山楂。郭老师想知道这串冰糖葫芦上的草莓串有几串,按照从左到右的顺序,这些草莓串的长度分别是多少?例如,冰糖葫芦WBBBBWWBWBBBW中共有3个草莓串它们的长度分别是4、1、3。
输入格式:
第一行包含一个整数为n (1 ≤ n ≤ 100),表示郭老师拥有的水果总数。 第二行为一串只包含字符’B’和’W’的字符串,即糖葫芦的水果组成。
输出格式:
第一行输出一个整数,表示糖葫芦中包含的草莓串个数。 第二行有多个整数,分别表示糖葫芦中按从左到右顺序各个草莓串中草莓的个数。
输入样例1:
3
BBW
输出样例1:
1
2
输入样例2:
13
WBBBBWWBWBBBW
输出样例2:
3
4 1 3
题意分析:
解题思路:
具体算法流程:
实现细节(代码):
#include<bits/stdc++.h>
using namespace std;
int n;
string a;
int ans[101];
int t;
int main() {
cin>>n>>a;
for(int i=0; i<n; i++) {
if(a[i]=='B') {
if(i==0) {
t++;
ans[t]++;
} else {
if(a[i-1]=='W') {
t++;
ans[t]++;
} else {
ans[t]++;
}
}
}
}
if(t==0) {
cout<<"0"<<endl;
} else {
cout<<t<<endl;
for(int i=1; i<=t; i++) {
cout<<ans[i]<<" ";
}
cout<<endl;
}
return 0;
}
当我每次看标题都以为是叙事点进来发现是程序教程的时候……