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