#牛客网 吐泡泡 (栈)
题目描述
小鱼儿吐泡泡,嘟嘟嘟冒出来。小鱼儿会吐出两种泡泡:大泡泡"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;
}
#牛客网 吐泡泡 (栈)相关推荐
- 牛客网 A-吐泡泡 栈的模拟
链接:https://www.nowcoder.com/acm/contest/74/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 牛客网 15029 (栈)
链接:https://ac.nowcoder.com/acm/problem/15029 来源:牛客网 小鱼儿吐泡泡,嘟嘟嘟冒出来.小鱼儿会吐出两种泡泡:大泡泡"O",小泡泡&qu ...
- 刷题记录:牛客NC15029吐泡泡
传送门:牛客 小鱼儿吐泡泡,嘟嘟嘟冒出来.小鱼儿会吐出两种泡泡:大泡泡"O",小泡泡"o". 两个相邻的小泡泡会融成一个大泡泡,两个相邻的大泡泡会爆掉. (是的 ...
- 牛客网 栈的压入、弹出序列
链接:https://www.nowcoder.com/questionTerminal/d77d11405cc7470d82554cb392585106 来源:牛客网 [编程题]栈的压入.弹出序列 ...
- 牛客网 2018年全国多校算法寒假训练营练习比赛(第二场) A.吐泡泡-STL(stack)
不好玩,一堆板子,太菜了,被打爆了,B一直wa60%,D一直wa80%,D改了多组输入就过了... A.吐泡泡 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...
- 吐泡泡_via牛客网
题目 链接:https://ac.nowcoder.com/acm/contest/28537/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...
- 牛客网 c++ 剑指Offer_编程题 第五题用两个栈实现队列
前言: 牛客网 c++ 剑指Offer_编程题 第五题用两个栈实现队列 题目: **这个题目不难,但是我感觉题目出得奇怪,刚开始没理解要干啥 我一个队列就能实现他要的功能为啥要两个 队列 queue ...
- 集合栈 牛客网 程序员面试金典 C++ Python
集合栈 牛客网 程序员面试金典 C++ Python 题目描述 请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈.该数据结构应支持与普通 ...
- 双栈排序 牛客网 程序员面试金典 C++ Python
双栈排序 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中. ...
最新文章
- 数据竞赛利器XGBoost常见面试题集锦
- SQL SERVER 2008 创建,删除,添加表的主键
- vs2010往oracle 10g中插入数据
- 前端要懂mysql_【灵魂拷问】你真的懂得Mysql的管理和使用吗?
- [计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测
- mysql增删改查 工具类_Hibernate增删改查数据库之二工具类
- 入门案例中使用的组件介绍
- 数据结构与算法——选择排序
- android硬件加速器及其问题小结
- 设计模式12——代理模式
- 问题3:filesystem:不是std的成员,filesystem:该名称的命名空间或类不存在
- 最新计算机二级c语言程序设计题库,计算机二级C语言编程题库(100题
- 【行业专题报告】食品饮料、休闲零食、咖啡茶饮-专题资料
- ATmega128A 串口问题
- 好消息!Android 模拟器可以运行 ARM 应用了
- 服务器蓝屏,错误代码0X00000040,解决方案!
- Photoshop-添加晕影的两种方法
- 《数学之美》第二十一章——拼音输入法的数学原理
- 第三方支付接口开发及开发中遇到的坑爹问题
- 飞塔30E防火墙忘记密码,重置密码