QAQ

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<vector>
#include<algorithm>
using std::vector;
using std::sort;
int cmp(const void * x, const void * y) {
    //x < y
#define datatype int
    return (*((datatype *)(x))) > (*((datatype *)(y))) ? 1 : -1;
#undef datatype
}
char str[105];
int l[105], r[105];
int main() {
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
#endif
    scanf("%s", str);
    int n = strlen(str);
    memset(l, 0, sizeof(l));
    if (str[0] == 'Q') l[0] = 1;
    memset(r, 0, sizeof(r));
    if (str[n - 1] == 'Q') r[n-1] = 1;
    for (int i = 1; i < n; i++) {
        l[i] = l[i - 1];
        if (str[i] == 'Q') l[i]++;
    }
    for (int i = n - 2; i >= 0; i--) {
        r[i] = r[i + 1];
        if (str[i] == 'Q') r[i]++;
    }
    int ans = 0;
    for (int i = 0; i < n; i++) {
        if (str[i] == 'A') ans += l[i] * r[i];
    }
    printf("%d\n", ans);
    return 0;
}
View Code

相关文章: