codeforces - 738A - Interview with Oleg(字符串处理)
题意:给一个长为n的串,找出所有ogogogo交替的,o开头o结尾的串,替换为三个*。
解法:瞎搞。找被两个o夹着的g,标记。
因为如果两个g在同一个替换串内,两个g下标差为2且两个g都在上一步标记过,然后xjbg输出【】
#include<bits/stdc++.h>
using namespace std;
bool mark[110]= {0};
int b[110],tol=0;
int main()
{
char a[110];
int n,tol=0,cnt=0;
cin>>n>>a;
for(int i=0; i<n; i++)
{
if(a[i]=='g'&&a[i-1]=='o'&&a[i+1]=='o')
{
b[tol++]=i;
}
}
for(int i=0;i<tol;i++)
{
mark[b[i]]=1;
a[b[i]-1]='1',a[b[i]+1]='1';
}
for(int i=0; i<n; i++)
{
if(!mark[i]&&a[i]>='a'&&a[i]<='z')cout<<a[i];
if(mark[i]&&!mark[i-2])cout<<"***";
}
return 0;
}