链接:https://www.nowcoder.com/acm/contest/87/B
来源:牛客网
XHRlyb和她的小伙伴Cwbc在玩捉迷藏游戏。
好奇的XHRlyb想知道,在每个字符串中Cwbc作为子序列分别出现了多少次。
由于Cwbc可能出现的次数过多,你只需要输出每个答案对 2000120420010122取模后的结果。
聪明的你在仔细阅读题目后,一定可以顺利的解决这个问题!
输入描述:
输入数据有多行,每行有一个字符串。
输出描述:
输出数据应有多行,每行表示一个答案取模后的结果。
输入
Cwbc
输出
1
说明
Cwbc作为子序列仅出现了1次。
示例2
输入acdcecfwgwhwibjbkblcmcnco
输出
81
#include<bits/stdc++.h>
#include<map>
#include<set>
#include <string>
using namespace std;
long long d[10];
int main()
{
string n;
while(cin>>n)
{
memset(d,0,sizeof(d));
for(int i=0;i<n.size();i++)
{
if(n[i]=='c'||n[i]=='C')
{
d[1]++;
d[4]+=d[3];
}
else if(n[i]=='w'||n[i]=='W')
{
d[2]+=d[1];
}
else if(n[i]=='b'||n[i]=='B')
{
d[3]+=d[2];
}
}
cout<<d[4]%2000120420010122<<endl;
}
return 0;
}