测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A22792. 数山峰

填空题 中等

题目描述

数山峰

题目描述

某地质勘探队正在研究一条山脉的 N 个连续山峰,山峰编号为 1 到 N。每个山峰的高度状态用字符串 S 表示:# 表示高峰,.表示低谷。

地质学家需要统计存在多少山峰编号 i(1 ≤ i ≤ N-2)满足以下特殊地形特征:山峰 i 是高峰;山峰 i+1 是低谷;山峰 i+2 是高峰。即寻找所有满足 “高峰 - 低谷 - 高峰” 模式的连续三个山峰组的起始位置数量。

输入格式

第一行:整数 N(山峰数量);第二行:长度为 N 的字符串 S(山峰高度状态)。

输出格式

满足条件的山峰编号 i 的个数。

输入样例#1

6
#.##.#

输出样例#1

2

输入样例#2

1
#

输出样例#2

0

输入样例#3

9
##.#.#.##

输出样例#3

3

参考答案

#include<iostream> #include<string> using namespace std; int main(){ int n; cin >> n; string s; cin >> s; int cnt=0; for(int i=1;i+1<n;i++){ if(s[i-1] == '#' and s[i] == '.' and s[i+1] == '#'){ cnt++; } } cout << cnt; }
上一题 下一题