题目链接:http://codeforces.com/problemset/problem/208/A


题意
给出一个字符串,将字符串中的WUB给删去,如果两个字母间有WUB,则这两个字母用空格隔开
AC代码
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <math.h>
#include <limits.h>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <set>
#include <string>
#define ll long long
#define ms(a) memset(a,0,sizeof(a))
#define pi acos(-1.0)
#define INF 0x3f3f3f3f
const double E=exp(1);
const int maxn=1e6+10;
using namespace std;
char ch[maxn];
char str[maxn];
int vis[maxn];
int main(int argc, char const *argv[])
{
gets(ch);
int l=strlen(ch);
int j=0;
for(int i=0;i<l;)
{
if(ch[i]=='W'&&ch[i+1]=='U'&&ch[i+2]=='B')
{
vis[j]=1;
i+=3;
continue;
}
else
{
str[j++]=ch[i];
i+=1;
}
}
for(int i=0;i<j;i++)
{
if(vis[i])
{
if(i)
cout<<" ";
}
cout<<str[i];
}
cout<<endl;
return 0;
}

本文提供了一道 CodeForces 上的字符串处理题目(208A)的解题思路及 AC 代码。任务是对输入的字符串进行处理,删除所有的 'WUB' 子串,并确保当两个字符间存在 'WUB' 时使用空格隔开。
&spm=1001.2101.3001.5002&articleId=81223356&d=1&t=3&u=10c2da3c484a4b6593dcd47f4d375247)
309

被折叠的 条评论
为什么被折叠?



