题目
翻译
题目
Vasya在最好的Berland夜总会担任DJ,他经常表演Dubstep音乐。最近,他决定录制几首老歌,并进行Dubstep混音。
让我们假设一首歌由一些单词组成。为了将这首歌进行Dubstep混音,Vasya在这首歌第一个单词之前(可能不插入),在最后一个单词之后(可能不插入),以及其他单词(相邻单词间至少有一个)插入"WUB",然后他将所有单词,包括"WUB",全都连接在一起,变成一首歌,然后开始唱。
比如,一首歌为"I AM X"可以通过Dubste混音变成成"WUBWUBIWUBAMWUBWUBX",但不能变成"WUBWUBIAMWUBX"。
最近,Petya听了Vasya的新Dubstep歌曲,但他不喜欢现代音乐,因此他决定找出Vasya混音的最初的歌是什么。帮助Petya恢复原始歌曲。
输入
输入为非空字符串,仅包含大写英文字母,且长度不超过200.可以保证在进行Dubstep混音之前,没有任何单词包含"WUB";Vasya也不会改变单词顺序。同样可以保证最初的歌曲至少有一个单词。
输出
输出最初的歌曲,单词之间由空格分隔开。
分析
用字符数组存歌,然后遍历,遇到WUB就跳过,遇到单词就输出,并且设置输出空格为true,以确保下次遇到WUB时输出空格。
代码
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char song[201];
cin >> song;
bool space = false;
int len = strlen(song);
for (int i = 0; i < len;)
{
if (song[i] == 'W' && song[i+1] == 'U' && song[i+2] == 'B')
{
if (space)
cout << " ";
i += 3;
space = false;
}
else
{
cout << song[i];
i++;
space = true;
}
}
}