# 官方题解|欢乐赛#43 T5
2025-03-19 13:17:15
发布于:浙江
18阅读
0回复
0点赞
T5
思路分析
本题主要考察枚举,你先要找到M
的位置 ,然后在 前面去找有多少 K
,在 后面有多少 ,最后利用排列组合乘法原理求出答案。
代码分析
#include <bits/stdc++.h>
using namespace std;
int main(){
int k = 0, m = 0, p = 0;
string s;
cin >> s;
int n = s.size();
for(int i = 0; i < n; i ++ ){
if(s[i] == 'M') m = i;
}
for(int i = 0; i < m; i ++ ) k += s[i] == 'K';
for(int i = m + 1; i < n; i ++ ) p += s[i] == 'P';
cout << k * p;
return 0;
}
这里空空如也
有帮助,赞一个