题解 CF208A 【Dubstep】
模拟即可,只需要把输入的字符串中WUB删掉,但重点是要处理空格!
首先通过样例2可以发现,如果两个字符串中有WUB,那么会产生一个空格。
那如何处理呢?很简单,遍历一遍,发现前面那个是WUB就输出一下".",代码如下,1.63ms,有注释:
#include <iostream>
#include <cstring>
using namespace std;
char x[205];
int main()
{
cin >> x;
int len = strlen(x) - 1;
for(int i = 0; i <= len; i++)
{
if(x[i] == 'W' && x[i + 1] == 'U' && x[i + 2] == 'B')//判断是否是WUB,如果是,那么久不用输出了,并且i直接加3
{
i += 2;//这里加2
continue;//continue会加1
}
else//不然就输出并且判断下一个是否是WUB
{
cout << x[i];
if(x[i + 1] == 'W' && x[i + 2] == 'U' && x[i + 3] == 'B')//如果是就输出.,这里不用i加多少了,因为下一次循环会进入第一分支的
{
cout << " ";
}
}
}
cout << endl;
return 0;
}
求赞