1 郭老师的冰糖葫芦

郭老师有草莓和山楂两种水果共计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 main(){
	int n;cin>>n;
	string s;cin>>s;
	int sum=0;
	int b[n]={0};
    if(s=="B"){
        cout<<1<<endl<<1<<" ";
        return 0;
    }
	for(int i=0;i<n;i++){
		if((s[i]=='B'&&i==0)||(s[i]=='B'&&s[i-1]=='W')){
			sum++;
		}
		if(s[i]=='B'){
			b[sum]++;
		}
	}
	cout<<sum<<endl;
	for(int i=0;i<n;i++){
		if(b[i]!=0){
			cout<<b[i]<<" ";
		}
	}
    return 0;
}
发布了23 篇原创文章 · 获赞 8 · 访问量 1366

猜你喜欢

转载自blog.csdn.net/qq_45550552/article/details/104719105
1
(1)
>&1