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;
}
上一题
下一题