题目描述

小鱼儿吐泡泡,嘟嘟嘟冒出来。小鱼儿会吐出两种泡泡:大泡泡"O",小泡泡"o"。
两个相邻的小泡泡会融成一个大泡泡,两个相邻的大泡泡会爆掉。
(是的你没看错,小气泡和大气泡不会产生任何变化的,原因我也不知道。)
例如:ooOOoooO经过一段时间以后会变成oO。

输入描述:

数据有多组,处理到文件结束。
每组输入包含一行仅有'O'与'o'组成的字符串。

输出描述:

每组输出仅包含一行,输出一行字符串代表小鱼儿吐出的泡泡经过融合以后所剩余的泡泡。

示例1

输入

ooOOoooO

输出

oO

说明

自左到右进行合并

备注:

对于100%的数据,
字符串的长度不超过100。

题目大意 : 输入一个只包含 ‘o’, ‘O’的字符串,两个'o'相邻会变大,两个‘O’相邻会爆炸QAQ,输出最后的字符串

思路 : 其实这道题和一道题很类似,就是判断括号是不是合法的那题,如果那道题会做,这个应该也没啥难度,就是用栈对每次进行更新,如果最后两个不相同则看下一个字符,否则一直更新下去

AC代码 :

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e4 + 5;char pre[maxn];
int X;
stack <char> st;int main()
{string line;while (cin >> line) {memset(pre, 0, sizeof(pre)), X = 0;st.push(line[0]);for (int i = 1; i < line.size(); i++) {st.push(line[i]);while (st.size() > 1) {char ch = st.top();st.pop();char str = st.top();st.pop();if (ch == str) {if (ch == 'O') continue;else st.push('O');}else {st.push(str), st.push(ch);break;}}}while (!st.empty()) {char ch = st.top();st.pop();pre[X++] = ch;}for (int i = X - 1; i >= 0; i--) cout << pre[i];cout << endl;}return 0;
}

#牛客网 吐泡泡 (栈)相关推荐

  1. 牛客网 A-吐泡泡 栈的模拟

    链接:https://www.nowcoder.com/acm/contest/74/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  2. 牛客网 15029 (栈)

    链接:https://ac.nowcoder.com/acm/problem/15029 来源:牛客网 小鱼儿吐泡泡,嘟嘟嘟冒出来.小鱼儿会吐出两种泡泡:大泡泡"O",小泡泡&qu ...

  3. 刷题记录:牛客NC15029吐泡泡

    传送门:牛客 小鱼儿吐泡泡,嘟嘟嘟冒出来.小鱼儿会吐出两种泡泡:大泡泡"O",小泡泡"o". 两个相邻的小泡泡会融成一个大泡泡,两个相邻的大泡泡会爆掉. (是的 ...

  4. 牛客网 栈的压入、弹出序列

    链接:https://www.nowcoder.com/questionTerminal/d77d11405cc7470d82554cb392585106 来源:牛客网 [编程题]栈的压入.弹出序列 ...

  5. 牛客网 2018年全国多校算法寒假训练营练习比赛(第二场) A.吐泡泡-STL(stack)

    不好玩,一堆板子,太菜了,被打爆了,B一直wa60%,D一直wa80%,D改了多组输入就过了... A.吐泡泡 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...

  6. 吐泡泡_via牛客网

    题目 链接:https://ac.nowcoder.com/acm/contest/28537/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...

  7. 牛客网 c++ 剑指Offer_编程题 第五题用两个栈实现队列

    前言: 牛客网 c++ 剑指Offer_编程题 第五题用两个栈实现队列 题目: **这个题目不难,但是我感觉题目出得奇怪,刚开始没理解要干啥 我一个队列就能实现他要的功能为啥要两个 队列 queue ...

  8. 集合栈 牛客网 程序员面试金典 C++ Python

    集合栈 牛客网 程序员面试金典 C++ Python 题目描述 请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈.该数据结构应支持与普通 ...

  9. 双栈排序 牛客网 程序员面试金典 C++ Python

    双栈排序 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中. ...

最新文章

  1. 数据竞赛利器XGBoost常见面试题集锦
  2. SQL SERVER 2008 创建,删除,添加表的主键
  3. vs2010往oracle 10g中插入数据
  4. 前端要懂mysql_【灵魂拷问】你真的懂得Mysql的管理和使用吗?
  5. [计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测
  6. mysql增删改查 工具类_Hibernate增删改查数据库之二工具类
  7. 入门案例中使用的组件介绍
  8. 数据结构与算法——选择排序
  9. android硬件加速器及其问题小结
  10. 设计模式12——代理模式
  11. 问题3:filesystem:不是std的成员,filesystem:该名称的命名空间或类不存在
  12. 最新计算机二级c语言程序设计题库,计算机二级C语言编程题库(100题
  13. 【行业专题报告】食品饮料、休闲零食、咖啡茶饮-专题资料
  14. ATmega128A 串口问题
  15. 好消息!Android 模拟器可以运行 ARM 应用了
  16. 服务器蓝屏,错误代码0X00000040,解决方案!
  17. Photoshop-添加晕影的两种方法
  18. 《数学之美》第二十一章——拼音输入法的数学原理
  19. 第三方支付接口开发及开发中遇到的坑爹问题
  20. 飞塔30E防火墙忘记密码,重置密码

热门文章

  1. Runes - 神符一览
  2. 手把手教你实现一个人脸认证登录系统
  3. Aircrack-ng支持网卡列表(上)
  4. Oracle中用户角色权限管理
  5. 浅析安全启动(Secure Boot) —写得很好
  6. 数据挖掘和知识发现的技术、方法及应用
  7. poi导入数据工具类,直接复制使用,有详细注释
  8. mysql中如何批量删除冗余数据库,删除WordPress数据库中的多余冗余数据
  9. 推荐算法:为什么浏览器总是知道我喜欢的内容?
  10. 16位调色板和32位调色板_设计系统的调色板第一部分