链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
Let's play osu!
ht姐姐很喜欢玩osu,她拥有着超凡的指法和无人披靡的手速,当然,还有超高的pp(performance point)。
某一天大英课上,她偶然发现了一句话中居然出现了"osu"这个子序列,这马上引起了她的注意,于是她决定,在这节课剩下的时间中,找到这段文章中所有子序列"osu"。可是文章实在太长了,请你帮帮她。
*字符串的子序列是从字符串中将若干元素提取出来并不改变相对位置形成的序列。
输入描述:
一行一个整数 nnn (1≤n≤1001 \leq n \leq 1001≤n≤100)------表示这段文章由nnn个小写英文字母和下划线组成。 接下来111行为该段文章.
输出描述:
一行一个整数,表示答案。
示例1
输入
复制6 oossuu
6 oossuu
输出
复制8
8
说明
在样例一中,如果将字符分别从1开始编号 8个答案分别是 (1,3,5)(1,3,6)(1,4,5)(1,4,6)(2,3,5)(2,3,6)(2,4,5)(2,4,6)
示例2
输入
复制100 secrets_of_straight_a_students_a_professor_of_education_who_has_conducted_major_studies_of_super_ach
100 secrets_of_straight_a_students_a_professor_of_education_who_has_conducted_major_studies_of_super_ach
输出
复制81
81
示例3
输入
复制14 cookiezspeedup
14 cookiezspeedup
输出
复制2
2
#include<bits/stdc++.h>
using namespace std;
int main(){
char c[100];
int n,s=0;
cin>>n;
getchar();
for(int i=0;i<=n;i++){
c[i]=getchar();
}
for(int i=0;i<n-2;i++){
if(c[i]!='o')continue;
for(int j=i+1;j<n-1;j++){
if(c[j]!='s')continue;
for(int k=j+1;k<n;k++){
if(c[k]=='u'){
s++;
}
}
}
}
cout<<s;
return 0;
}