AcWing1884. COW
奶牛贝茜在她最喜欢的牧场中发现了一块石碑,上面刻有神秘的碑文。
碑文的文字似乎来自一种神秘的古代语言,可看作一个只包含 C,O,W 三种字符的字符串。
尽管贝茜无法解密该文字,但是她很欣赏 C,O,W 按顺序构成她最喜欢的单词 COW。
她想知道 COW 在碑文中一共出现了多少次。
她不介意 C,O,W 之间是否存在其他字符,只要这三个字符按正确的顺序出现即可。
她也不介意多个不同的 COW 是否共享了一些字符。
例如,COW 在 CWOW 中只出现一次,在 CCOW 中出现两次,在 CCOOWW 中出现八次。
给定碑文中的文字,请帮助贝茜计算 COW 出现的次数。
输入格式
第一行包含 N。
第二行包含一个长度为 N 的字符串,其中只包含字符 C,O,W。
输出格式
输出给定字符串中 COW 作为子序列(不一定连续)的出现次数。
数据范围
1≤N≤105
输入样例:
6
COOWWW
输出样例:
6
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;const int N = 100010;
typedef long long LL;
char str[N];int main(){int n;cin >> n;for (int i = 0; i < n; i ++ ){cin >> str[i];}LL a = 0,b = 0,c = 0;for (int i = 0; i < n; i ++ ){if(str[i] == 'C') a++;else if(str[i] == 'O') b += a;else if(str[i] == 'W')c += b;}cout << c;return 0;
}
关键:状态机(算法题高课)
关键在于这个for循环的理解与应用
for (int i = 0; i < n; i ++ ){
if(str[i] == 'C') a++;
else if(str[i] == 'O') b += a;
else if(str[i] == 'W')c += b;
}
AcWing1884. COW相关推荐
- POJ 3268 D-Silver Cow Party
http://poj.org/problem?id=3268 Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently ...
- usaco Cow Tours 牛的旅行
Cow Tours 牛的旅行 农民 John 的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场. 但是就目前而言,你能看到至少有两个牧区不连通.这样,农民 John 就有 ...
- 贪心 POJ - 3617 Best Cow Line
Best Cow Line POJ - 3617 FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual"Farmer of ...
- 【POJ】3268 Silver Cow Party (将有向图的边反转)
问题链接:http://poj.org/problem?id=3268 [问题描述] One cow from each of N farms (1 ≤ N ≤ 1000) conveniently ...
- 解题报告:CF1307D Cow and Fields(最短路、最优解不等式化简)
CF1307D Cow and Fields 整张无向图的边权为1. 首先求出 1,n1,n1,n 两个点的单源最短路径.这 kkk 个特殊点中,我们令第 aaa 个特殊点到 111 的距离为 xax ...
- SP11469 SUBSET - Balanced Cow Subsets(折半搜索+状态压缩)难度⭐⭐⭐⭐★
题目链接 SP11469 SUBSET - Balanced Cow Subsets 题目翻译 给出N(1≤N≤20)N(1≤N≤20)N(1≤N≤20)个数M(i)(1<=M(i)<=1 ...
- P2888 [USACO07NOV]牛栏Cow Hurdles(Floyd算法)
P2888 [USACO07NOV]牛栏Cow Hurdles 行 1-T: 行 i 为一个整数,表示任务i路径上最高的栏的高度的最小值.如果无法到达,输出 -1. 5 6 3 1 2 12 3 2 ...
- P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希)
P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希) 洛谷上这道水题丧心病狂地把数据范围加到了500000 普通的做法肯定A不了了, ...
- H - Cow Contest POJ - 3660(Floyd 传递闭包)
H - Cow Contest POJ - 3660 题意: 有 n 头牛比赛,边 1 -> 2 代表 1 能赢 2 ,给你 m 条边,问能确定出多少头牛的名次? 思路: 如果 1->2 ...
最新文章
- 乡村振兴谋定齐鲁道路-农业大健康·李昌平:放权改革创新
- RabbitMQ 核心部分
- java的文本框如何回车键触发按钮_java回车触发按钮的代码
- servlet 规范_Tomcat原理解析(壹)— Servlet
- 《DeepXDE:a deep learning library for solving differential equations》梳理
- ORA-01403: no data found
- Docker的安装和操作(虚拟机+linux系统)
- 《企业IT架构转型之道》读书笔记
- 加油站收银系统 Java_加油站也能用收银系统吗?
- 科研绘图软件GraphPad Prism教程(一)
- 浅谈机器人比赛中的系统工程和组织管理
- 哈工大计算机系统实验三——二进制炸弹
- html中加号实体,纯css实现加号“+”效果(代码示例)
- c罗说什么语言,那些年属于C罗的经典语录,那一句话最感动你?
- HBase--JavaAPI的操作,创建表修改表,增删改查数据
- 5年测试经验对行业的认知
- php word 添加,PHP 实现Office word 关键词添加背景色
- Apache Tuscany中文论坛开通: http://groups.google.com/group/tuscany-sca-chinese
- 使用IDAPython dump 内存
- 前端:页面内容不够,始终把footer固定在底部