- 穷举算法——奶牛碑文(cow)

题目描述

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

输入

第 1 行为 1 个整数 N。
第 2 行为 N 个字符的字符串,每个字符是一个 C、O 或 W

输出

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

样例输入

6
COOWWW

样例输出

6

查找三个顺序字母组合成的COW,其实只要找到中间的那个O,记录前后CW的个数就行,错了几次主要是数组开得太小了,改大一点就ac了,上代码

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<string>
using namespace std;
main()
{string inputStr;long long inputNum,num,cNum[100010],wNum[100010],ans=0,mebC,mebW;cin>>inputNum;cin>>inputStr;mebC=mebW= 0;      //C从前往后,W从后往前记录个数,碰到O记录当前O前后C和W的个数for(int i=0,j=inputNum-1; i<inputNum,j>=0;i++,j--){if(inputStr[i]=='C'){mebC++;}if(inputStr[i]=='O'){cNum[i] = mebC;}if(inputStr[j] == 'W'){mebW++;}if(inputStr[j]=='O'){wNum[j] = mebW;}}for(int i=0; i<inputNum; i++){if(inputStr[i]=='O'){ans += (wNum[i]*cNum[i]);//个数相乘即是当前O能组合成COW的个数}}cout<<ans<<endl;
} 

第一次写博客,,有不对或者更好地方法还请指教

穷举算法——奶牛碑文(cow)相关推荐

  1. 百钱百鸡php穷举法,PHP经典题:百钱百鸡问题(穷举算法)

    PHP经典题:百钱百鸡问题(穷举算法) 百钱百鸡问题: 已知:公鸡5元一只,母鸡3元一只,小鸡一元3只 现用100元钱买了100只鸡,问:公鸡母鸡小鸡各几只? --请考虑尽可能高效的方法 思路: 如果 ...

  2. 简析穷举算法,及其简单应用

    简析穷举算法,及其简单应用 穷举概述 穷举法又称列举法,其基本思想是逐一列举问题所涉及的所有情况. 穷举法常用于解决"是否存在"或"有多少种可能"等问题. 应用 ...

  3. 3388=24及24点游戏的穷举算法

    偶尔看到一题:用3 3 8 8 四个数和加减乘除组合得出24,前提是用完这四个数,几年没好好思考了,偶算了半天没答案,就写了个穷举算法,呵呵,貌似结果只有一种啊,各位兄台还有其它答案么? packag ...

  4. java穷举密码_穷举算法和递推算法(Java)

    穷举算法 概念: 最简单算法,依赖计算机的强大计算能力穷尽每一种可能的情况.穷举算法效率不高,但是适合一些没有明显规律可循的场合. 思想: 在使用穷举算法时,需要明确问题答案的范围,这样才可能在指定范 ...

  5. 穷举算法(鸡兔同笼问题)

    穷举算法的基本思想就是从所有可能的情况中搜索正确的答案,其执行步骤如下: (1)对于一种可能的情况,计算其结果. (2)判断结果是否满足要求,如果不满足则进行执行第(1)步来搜索下一个可能的情况:如果 ...

  6. 子图同构算法——Ullmann算法(1)不包含refine procedure的简单穷举算法。

    摘要: 转载请注明来自stanlysheng--talk is cheap, show me your code.http://www.cnblogs.com/stanly/ .谢谢.此文我也在CSD ...

  7. 农民过河算法可爱的学习----记录于高考报名后的怀旧emo时刻--穷举算法

    很多关卡在向孩子教学代码的同时,更是在潜移默化地训练孩子的编程思维. 在最开始的地牢地图中,孩子需要使用「While-True」循环语句,穿过一个又一个结构重复的迷宫. 在学习「While-True」 ...

  8. 旅行商问题穷举算法c语言,什么是旅行商问题——算法NP、P、NPC知识

    旅行商问题 旅行商问题所描述的是这样一个场景: 有一个商品推销员,要去若干个城市推销商品.该推销员从一个城市出发,需要经过所有城市后,回到出发地.每个城市之间都有道路连通,且距离各不相同,推销员应该如 ...

  9. c语言穷举算法 枚举法,c语言枚举法 穷举法 ppt课件

    枚举法 穷举法 笨人之法 把所有可能的情况一一测试 筛选出符合条件的各种结果进行输出 分析 这是个不定方程 三元一次方程组问题 三个变量 两个方程 x y z 1005x 3y z 3 100设公鸡为 ...

最新文章

  1. Meta AI 新研究,统一模态的自监督新里程碑
  2. Python的注释及乱码 || 变量及类型
  3. java Gson转map与map转gson
  4. 火狐插件火狐***插件将Firefox变成***工具的七个插件
  5. 银行工作人员违规发放贷款要坐牢吗?
  6. CSS margin 外边距 属性的位置关系
  7. Going Dutch BAPC( 状态转移DP)
  8. 计算机论文写作提纲怎么写,信息技术论文提纲写作示例
  9. linux共享内存 pmu,如何使用gator/streamline 收集PMU perf event计数
  10. pc 页面在移动端怎么获取放大倍数、_逆冬:移动端排名应该怎么做?两种匹配移动端实战排名干货分享!...
  11. 如何更改IDEA的主题(背景黑色还是白色)
  12. java使用pdfbox将图片转换成pdf
  13. 一步一步搭建前端监控系统:如何记录用户行为?
  14. UVA Team Queue
  15. 元气森林们迈入新消费后时代
  16. 【树莓派】搭建OpenWrt软路由,并作为旁路由的配置与应用方法
  17. C#调用FFMPEG实现桌面录制(视频+音频+生成本地文件)【笔记】
  18. 支持 C++11/14/17 功能(现代 C++
  19. Python批量PNG转换成JPGE设置quality=99
  20. 程序员 - 算法工程师 日常快捷入口大全

热门文章

  1. win10 更新后蓝牙无法连接以前设备
  2. Windows 10 显示桌面图标 计算机 / 此电脑 / 我的电脑
  3. Lambda表达式表达式树
  4. java 代码 二义性是什么_Java接口默认方法带来的问题分析【二义性问题】
  5. ORA-01422: exact fetch returns more than requested number of rows
  6. w ndows平板插sim卡,HUAWEI MateBookE怎么插入sim卡上网和接收短信?
  7. 解决word目录右侧页码大小不一致和不对齐的问题
  8. 受尽苦难而不厌_信息安全工程师正在为确保我们的安全而苦难
  9. 罗斯蒙特248温度变送器248HANANONS
  10. 记录一次MySQL数据库失败教训