题目
链接:牛客网
小明同学正在学习一种新的语言。在该语言中,如果出现了一次wa或者一次aw,则代表出现了一个警告。如果出现了连续的wa或者连续的aw,则代表出现了一个错误。小明由于学习比较粗心,所以他想要知道自己刚刚写完的作业中一共出现了多少处警告和错误。下面是小明刚刚写完的作业,请你帮助小明找到他一共出现了多少次警告和多少次错误。
abcwaawawawa中出现了一次警告(wa)和一次错误(awawaw)
abcdefg中没有出现一次警告和错误
waawwaawwawa中出现了四次警告(两次wa和两次aw)和一次错误(wawa)
awawwawa中只出现了两次错误(awaw和wawa)
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
int len=s.size();
int res1=0,res2=0;
for(int i=0,j;i<len;i++){
if(s[i]=='w'&&s[i+1]=='a'){
j=i;
for(j=i+2;j<len;j+=2){
if(s[j]!='w'||s[j+1]!='a'){
break;
}
}
if(j==i+2) res1++;
else res2++;
i=j-1;
//cout<<i<<" "<<j<<endl;
}
else if(s[i]=='a'&&s[i+1]=='w'){
j=i;
for(j=i+2;j<len;j+=2){
if(s[j]!='a'||s[j+1]!='w'){
break;
}
}
if(j==i+2) res1++;
else res2++;
i=j-1;
//cout<<i<<" "<<j<<endl;
}
}
cout<<res1<<'\n'<<res2<<'\n';
//printf("78\n25\n");
return 0;
}