Codeforces 208A:Dubstep(字符串)

题目链接: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;
}


 

原文地址:https://www.cnblogs.com/Friends-A/p/10324440.html