【57.97%】【codeforces Round #380A】Interview with Oleg

时间:2022-09-10 21:17:29

time limit per test1 second

memory limit per test256 megabytes

inputstandard input

outputstandard output

Polycarp has interviewed Oleg and has written the interview down without punctuation marks and spaces to save time. Thus, the interview is now a string s consisting of n lowercase English letters.

There is a filler word ogo in Oleg’s speech. All words that can be obtained from ogo by adding go several times to the end of it are also considered to be fillers. For example, the words ogo, ogogo, ogogogo are fillers, but the words go, og, ogog, ogogog and oggo are not fillers.

The fillers have maximal size, for example, for ogogoo speech we can’t consider ogo a filler and goo as a normal phrase. We should consider ogogo as a filler here.

To print the interview, Polycarp has to replace each of the fillers with three asterisks. Note that a filler word is replaced with exactly three asterisks regardless of its length.

Polycarp has dealt with this problem in no time. Can you do the same? The clock is ticking!

Input

The first line contains a positive integer n (1 ≤ n ≤ 100) — the length of the interview.

The second line contains the string s of length n, consisting of lowercase English letters.

Output

Print the interview text after the replacement of each of the fillers with ““. It is allowed for the substring “” to have several consecutive occurences.

Examples

input

7

aogogob

output

a***b

input

13

ogogmgogogogo

output

gmg

input

9

ogoogoogo

output


Note

The first sample contains one filler word ogogo, so the interview for printing is “a***b”.

The second sample contains two fillers ogo and ogogogo. Thus, the interview is transformed to “gmg“.

【题目链接】:http://codeforces.com/contest/738/problem/A

【题解】



找到第一个ogo的位置,然后往后找”go”;把ogo替换成三个*;后面的go替换成一个标识符&,最后不输出就好;

(或者你找到一个就直接输出三个*,其他的按照原序列输出也可以)

简单的字符串处理;



【完整代码】

#include <bits/stdc++.h>

using namespace std;

string s;
int n; int main()
{
//freopen("F:\\rush.txt","r",stdin);
cin >> n;
cin >> s;
int len = s.size();
for (int i = 0;i <= len-1;i++)
if (i+2<=len-1 && s[i]=='o' && s[i+1]=='g' && s[i+2]=='o')
{
int j = i+3;
while (j+1<=len-1 && s[j]=='g' && s[j+1]=='o')
{
j+=2;
}
for (int k = i;k <= i+2;k++)
s[k] = '*';
for (int k = i+3;k <= j-1;k++)
s[k] = '$';
i = j-1;
}
for (int i = 0;i <= len-1;i++)
if (s[i]!='$')
putchar(s[i]);
return 0;
}

【57.97%】【codeforces Round #380A】Interview with Oleg的更多相关文章

  1. 【42&period;86&percnt;】【Codeforces Round &num;380D】Sea Battle

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  2. 【26&period;83&percnt;】【Codeforces Round &num;380C】Road to Cinema

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  3. 【21&period;21&percnt;】【codeforces round 382D】Taxes

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  4. 【50&period;88&percnt;】【Codeforces round 382B】Urbanization

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  5. 【Codeforces Round 1137】Codeforces &num;545 &lpar;Div&period; 1&rpar;

    Codeforces Round 1137 这场比赛做了\(A\).\(B\),排名\(376\). 主要是\(A\)题做的时间又长又交了两次\(wa4\)的. 这两次错误的提交是因为我第一开始想的求 ...

  6. 【Codeforces Round 1132】Educational Round 61

    Codeforces Round 1132 这场比赛做了\(A\).\(B\).\(C\).\(F\)四题,排名\(89\). \(A\)题\(wa\)了一次,少考虑了一种情况 \(D\)题最后做出来 ...

  7. 【Codeforces Round 1120】Technocup 2019 Final Round &lpar;Div&period; 1&rpar;

    Codeforces Round 1120 这场比赛做了\(A\).\(C\)两题,排名\(73\). \(A\)题其实过的有点莫名其妙...就是我感觉好像能找到一个反例(现在发现我的算法是对的... ...

  8. 【Codeforces Round 1129】Alex Lopashev Thanks-Round &lpar;Div&period; 1&rpar;

    Codeforces Round 1129 这场模拟比赛做了\(A1\).\(A2\).\(B\).\(C\),\(Div.1\)排名40. \(A\)题是道贪心,可以考虑每一个站点是分开来的,把目的 ...

  9. 【Codeforces Round 1117】Educational Round 60

    Codeforces Round 1117 这场比赛做了\(A\).\(B\).\(C\).\(D\).\(E\),\(div.2\)排名\(31\),加上\(div.1\)排名\(64\). 主要是 ...

随机推荐

  1. Tcp方式采集CNC兄弟设备数据

    先说下为了采集CNC兄弟设备的数据可谓是一波三折. 因为首次接触brother设备(CNC)是直接在设备上设置IP.用户名.密码,然后直连PC,用Ftp可以查看和下载CNC brother设备里的数据 ...

  2. 【总结】JS里的数组排序

    虽然贴了2种办法,但是思路是一致的,都是先从数组里找出最小值,一种是找到一个放进新数组: 另一种是找到后和第i个数交换,i每次自增 主要用到2个函数: 从一个数组里找出最小值: 两个元素互换位置 fu ...

  3. halcon读取一张照片,并转化为灰度图像

    dev_close_window () read_image (Image, 'E:/图片/123.jpg') get_image_size (Image, Width, Height) dev_op ...

  4. ZOJ 2563 Long Dominoes(状态压缩DP)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1563 题目大意:在h*w的矩阵里铺满1*3的小矩阵,共有多少种方法 ...

  5. PAT 1076&period; Forwards on Weibo &lpar;30&rpar;

    Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and may ...

  6. SqlServer拆分列

    SELECT TOP 1000 substring([a],0,CHARINDEX('/',a)) as low,substring([a],CHARINDEX('/',a)+1,len([a])-C ...

  7. 札记:Property动画

    简介 Android 3.0 (API level 11)引入了属性动画系统,它是一个完善的框架,可以用来对几乎任何对象进行动画.只需要指定要动画的对象属性,动画时长,属性值区间等,无论对像是否在屏幕 ...

  8. 使用Pabot并行运行RF案例

    一.问题引入 在做接口自动化时随着案例增多,特别是流程类案例增多,特别是asp.net的webform类型的项目,再加上数据库校验也比较耗时,导致RF执行案例时间越来越长,就遇到这样一个问题,705个 ...

  9. hp电脑重装win7 64位 后 所有软件都装不上问题【转】

    hp 电脑重装后 所有软件都装不上问题 装了近100来次机,第一次遇到这样的. bug描述: 新笔记本刚装了纯净版的64位旗舰版win7,想装软件,就弹出已停止工作.比如装火狐浏览器,弹出火狐浏览器网 ...

  10. 简述JavaScript作用域与作用域链

    关于变量作用域的知识,相信学习JavaScript的朋友们一定早已经接触过,这里简单列举: JavaScript中变量是以对象属性的形式存在的:全局变量是全局对象的属性:局部变量是声明上下文对象的属性 ...