模拟
题目链接:SDNUOJ1065
题目描述
名称:山口山
描述:
鲁观喜欢打山口山。某一天,玻璃渣官网上线了一个新活动,在一大长串n个字母(n<=2000)中率先找到"WOW"并点击即可参与抽奖赢取30元点卡一张。页面上有很多行字母,每一行都有WOW,请你帮鲁观在每行字符串中找到WOW并输出其中的字母O在字符串的位置
输入
输入有多个测试案例,每个测试案例占一行,为页面上的字母,字符串长度不大于2000,字符串一定包括WOW三个字母
输出
对于每个测试案例输出一行,包括字母O所在字符串的位置,位置从0开始
思路
纯模拟,打暴力
- 读入字符串
- 挨个判断本身,下一个,下下个是否是wow并输出中间那个数
小提示
如果使用scanf输入,记得最后来个getchar()吸收末尾换行符
代码
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
char a[10001];
int main(){
while(gets(a)){
int len=strlen(a);
for(int i=0;i<len;i++){
if(a[i]=='W'&&a[i+1]=='O'&&a[i+2]=='W'){
cout<<i+1<<endl;//我是从0开始用的,所以o的位置是i+1
}
else continue;
}
}
return 0;
}