现在给你一个长度为 n的只有大写字母组成的字符串。字符串里有众多的”WTW“。请你求出字符串里有几个”WTW”,即字符串的子序列为”WTW”的个数。

在数学中,某个序列的子序列是从最初序列通过去除某些元素但不破坏余下元素的相对位置(在前或在后)而形成的新序列。例如A,AB,ACD是字符串ABCD的子序列,而E,BA不是。

Input

第一行给出字符串的长度n(1≤n≤100000)。

第二行是一个长度为n的字符串,字符串保证只有大写字母。

Output

输出一个整数,字符串子序列为”WTW“的个数。所有测试样例的答案保证小于等于1e6。

Sample Input

4
WWTW

Sample Output

2

思路:将字符串存进vector数组中,用find函数去找T的位置,然后再找确定的T的左边有几个W,之后就知道右边有几个W(总W减左边的数量)。(若题目要求找的是WTA这种,就在T右边用多一个循环去找)

#include <bits/stdc++.h>
using namespace std;
int main() {vector<char>::iterator a;vector<char>::iterator b;int n, sum = 0, S1 = 0; char ch;cin >> n;vector<char>s;for (int i = 0; i < n; i++) { cin>>ch; if (ch == 'W')sum++;  //算出总共有多少W  s.push_back(ch); }a = s.begin();while(      (a = find(a, s.end(), 'T') )!=s.end()    ){int sum1 = 0;b = s.begin();while (    (   b = find(b, a, 'W')  ) != a    )//找b到a内的W,就是T之前的{sum1++;b++; //b位置往后,防止重复}S1 =S1+ (sum1 * (sum - sum1));a++;//a位置往后,防止重复}cout << S1;return 0;
}

多重影分身(c++题解)相关推荐

  1. [JS][dfs]题解 | #迷宫问题#

    题解 | #迷宫问题# 题目链接 迷宫问题 题目描述 定义一个二维数组 N*M ,如 5 × 5 数组下所示: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 1, 1 ...

  2. [JS][dp]题解 | #打家劫舍(一)#

    题解 | #打家劫舍(一)# 题目链接 打家劫舍(一) 题目描述 描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家, ...

  3. [JS]题解 | #魔法数字#

    题解 | #魔法数字# 题目链接 魔法数字 题目描述 牛妹给牛牛写了一个数字n,然后又给自己写了一个数字m,她希望牛牛能执行最少的操作将他的数字转化成自己的. 操作共有三种,如下: 在当前数字的基础上 ...

  4. [JS]题解 | #岛屿数量#

    题解 | #岛屿数量# 题目链接 岛屿数量 题目描述 时间限制:1秒 空间限制:256M 描述 给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛.我们只考虑上下左右 ...

  5. [JS] 题解:提取不重复的整数

    题解:提取不重复的整数 https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1 时间限制:1秒 空间限制:32M 描述 输 ...

  6. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  7. [洛谷1383]高级打字机 题解

    题解 这道题一看就珂以用主席树啊 这是一道神奇的题目,那么我们先敲一个主席树,然后维护一个数组len,表示下一次应该在len + 1插入, 之后对于T操作,在上一个版本的len + 1上直接执行插入 ...

  8. luogu P1549 棋盘问题(2) 题解

    luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...

  9. 【题解搬运】PAT_L1-009 N个数求和

    从我原来的博客上搬运.原先blog作废. (伪)水题+1,旨在继续摸清这个blog(囧 题目 就是求N个数字的和.麻烦的是,这些数字是以有理数"分子/分母"的形式给出的,你输出的和 ...

最新文章

  1. 计算机中的机器码就是二进制数,高电单片机习题(答案)
  2. 在Linux添加PYTHONPATH方法以及修改环境变量方法
  3. 漫画 | TCP,一个悲伤的故事
  4. eclipse让项目连接服务器失败,eclipse怎么链接服务器
  5. 前端jQuery插件库
  6. java_IO_File(3)_遍历、递归
  7. 算法--06年华为面试:求两个数组的最小差值(Java实现)
  8. linux下recv 、send阻塞、非阻塞区别和用法
  9. python 递归函数与循环的区别_提升Python效率之使用循环机制代替递归函数
  10. 你的Android应用完全不需要那么多的权限
  11. Json-lib, 实现Java对象与JSON数据格式的互转
  12. 用DHCP部署WPAD:ISA2006系列之四
  13. python中、函数定义可以不包括以下_python函数定义精讲
  14. 基本共射放大电路的工作原理
  15. ​LeetCode刷题实战518:零钱兑换 II
  16. 【二】网络空间安全综述
  17. host文件的工作原理及应用
  18. Java字节码魔法数字_Java的魔法:字节码
  19. kubernetes dashboard
  20. 基因组选择的几个概念

热门文章

  1. Jpg转gif动画怎么操作?简单的jpg制作gif方法分享
  2. 软件体系结构(2)———软件设计概论
  3. 【3分钟秒懂】示例讲解MCU中断流程 基于NXP MPC574xG
  4. 2013年最受欢迎的20大网页设计趋势
  5. 计算机网络【UDP和TCP首部字段详解】
  6. 苹果笔记本MacBook Pro2019通病维修
  7. wake_lock_timeout的使用方法
  8. MapBox地图怎么去掉地名显示
  9. BIGEMAP手机在线地图的查看
  10. 否定、合取、析取、条件、双条件(同或)、异或、条件否定、与非、或非