问题标题: 酷町堂:萌新求助4078 QAQ表情

0
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;
}

 


0
0
薛乘志
薛乘志
初级启示者
初级启示者
for(int i=0;i<a.size();i++){
		if(a[i]==){
			for(int j=i+1;j<a.size();j++){
				if(a[j]==){
					for(int k=j+1;k<a.size();k++){
						if(a[k]==){
							sum++;
						}
					}
				}
			}
		}
	}

这不就完事了??

薛乘志在2021-07-13 11:28:31追加了内容

doge

我要回答