题解 | 躲藏
躲藏
https://www.nowcoder.com/practice/b19eda9490d54505a1065a70c3005b47
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int INF = 0x3f3f3f3f3f3f3f3f;
const int mod=2000120420010122;
void solve(){
string s;
while(cin>>s){
vector<int> dp(4);
for(auto i:s){
if(i=='c'||i=='C') dp[0]++,dp[3]=(dp[2]+dp[3])%mod;
else if(i=='w'||i=='W') dp[1]+=dp[0];
else if(i=='b'||i=='B') dp[2]+=dp[1];
}
cout<<dp[3]%mod<<"\n";
}
}
signed main(){
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
int t=1;
// cin>>t;
while(t--){
solve();
}return 0;
}
查看26道真题和解析