0
已解决
汪恺恒
中级启示者
中级启示者
题目描述 Description
QAQ是一个我们经常使用的表情。
现在给出一个字符串s,长度为n,其中n<100。求s中QAQ 子序列 出现的个数。因为是子序列不是子串,所以可以是不连续的。
输入描述 Input Description
长度为n的一行字符串,保证只包含大写英文字母
输出描述 Output Description
QAQ子序列的个数
最后一个点WA……
#include<iostream>
#include<bits/stdc++.h>
#pragma GCC optimize(3)
using namespace std;
string s;
int cnt;
int f(int x){
int sum=0;
for(int l=1;l<=x;l++){
sum+=l;
}
return sum;
}
int main(){
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]=='Q'){
int cnt1=0,cnt2=0;
for(int j=i+1;j<s.size();j++){
if(s[j]=='A'){
cnt1++;
}
else if(s[j]=='Q'){
cnt2++;
}
}
cnt+=f(min(cnt1,cnt2));
}
}
cout<<cnt;
return 0;
}