这一题要用到乘法原理,就是https://blog.csdn.net/weixin_30468137/article/details/95173439
有介绍
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
long long ans = 1;
int mod = 1e9 + 7;
long long seg[100005];
char s[100005];
int main(){
scanf("%s",s);
int len = strlen(s);
int cnt_b = 0;
for(int i = 0; i < len; i++){
if( s[i] == 'a')seg[cnt_b]++;
else if(s[i] == 'b' && seg[cnt_b]){
cnt_b ++;
}
}
long long tmp = 1;
for(int i = 0;i <= cnt_b; i++){
ans = (ans * (seg[i] + 1) ) % mod;
}
printf("%lld",ans - 1);
return 0;
}