https://codeforces.com/contest/1084/problem/C
abbaa
10011
5种
数组默认为0 除a,b外其他字母用-1表示
不能全都不选
第一个a num=2 选/不选
00 ans=2 num=1
再到1 num=3 01 10 00 选第一/第二/不选
ans=2*num-1=6 -1=5
string s;
int a[maxn];
int main(){
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]=='a')
a[i]=1;
else if(s[i]=='b')
a[i]=0;
else
a[i]=-1;
}
ll ans=1,num=1;
for(int i=0;i<s.size();i++){
if(a[i]==0) //开始就为0
{
ans=(ans*num)%mod;
num=1;
}
else if(a[i]==1)
{
num++;
}
}
ans=(ans*num)%mod;
cout<<ans-1<<endl;
return 0;
}
abbaab