210733 奶牛碑文

题目描述

小伟暑假期间到大草原旅游,在一块石头上发现了一些有趣的碑文。碑文似乎是一个神秘古老的语言,只包括三个大写字母 C O W 。尽管小伟看不懂,但是令他高兴的是, C O W 的顺序形式构成了一句他最喜欢的奶牛单词 “COW” 。现在,他想知道有多少次 COW 出现在文本中。如果 COW 内穿插了其他字符,只要 COW 字符出现在正确的顺序,小伟也不介意。甚至,他也不介意出现不同的 COW 共享一些字母。例如, CWOW 出现了1次 COW CCOW 算出现了2次 COW CCOOWW 算出现了8次 COW

输入格式

输入包括一行仅仅包括 "C","O","W" 的字符串

输出格式

输出 COW 作为输入字符串的子序列出现的次数(不一定是连续的)。提示:答案会很大,建议用 64 位整数(long long)。

样例

样例输入

CCCOOW
样例输出

6
数据范围与提示 分类标签

[枚举]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

string a;
long long c;
long long b;
long long d;


int main() {
  cin>>a;
  b = 0;
  c = 0;
  d = 0;
  for (int i = 0; i < a.size(); i++) {
    if (a[i] == 'C') {
      b++;
    } else if (a[i] == 'O') {
      c += b;
    } else if (a[i] == 'W') {
      d += c;
    }
  }
  cout<<d;
  return 0;
}

Blockly题解代码图片