题目:http://codeforces.com/contest/738

A 题意:给一个长度为n的字符串,如果碰到了ogo就变成***,ogo变成***,如果是ogogogo也只能变成***

 思路:暴力填充

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
char str[110],tmp[110];
int main(){
    int len;
    while(scanf("%d",&len)!=EOF){
        for(int i=1;i<=len;i++){
            scanf(" %c",&str[i]);        
        }
        for(int i=1;i<=len;i++) tmp[i]=str[i];
        int len1=0;
        for(int i=1;i<=len;i++){
        bool flag=false;
            if(str[i]=='o'){
                while(str[i+1]=='g'&&str[i+2]=='o'){
                    flag=true;
                    i+=2;
                }
                if(flag){
                    tmp[len1++]='*';
                    tmp[len1++]='*';
                    tmp[len1++]='*';
                }
                else tmp[len1++]=str[i];
            }
            else tmp[len1++]=str[i];
        }
        for(int i=0;i<len1;i++){
            printf("%c",tmp[i]);
        }
        printf("\n");        
    }
    return 0;
}
View Code

相关文章: