P1241 括号序列——stack
admin
2024-03-28 12:06:00
0

括号序列

题目描述

定义如下规则:

  1. 空串是「平衡括号序列」
  2. 若字符串 SSS 是「平衡括号序列」,那么 [S]\texttt{[}S\texttt][S] 和 (S)\texttt{(}S\texttt)(S) 也都是「平衡括号序列」
  3. 若字符串 AAA 和 BBB 都是「平衡括号序列」,那么 ABABAB(两字符串拼接起来)也是「平衡括号序列」。

例如,下面的字符串都是平衡括号序列:

()[](())([])()[]()[()]

而以下几个则不是:

([])(())([()

现在,给定一个仅由 ()[]构成的字符串 sss,请你按照如下的方式给字符串中每个字符配对:

  1. 从左到右扫描整个字符串。
  2. 对于当前的字符,如果它是一个右括号,考察它与它左侧离它最近未匹配的的左括号。如果该括号与之对应(即小括号匹配小括号,中括号匹配中括号),则将二者配对。如果左侧未匹配的左括号不存在或与之不对应,则其配对失败。

配对结束后,对于 sss 中全部未配对的括号,请你在其旁边添加一个字符,使得该括号和新加的括号匹配。

输入格式

输入只有一行一个字符串,表示 sss。

输出格式

输出一行一个字符串表示你的答案。

样例 #1

样例输入 #1

([()

样例输出 #1

()[]()

样例 #2

样例输入 #2

([)

样例输出 #2

()[]()

提示

数据规模与约定

对于全部的测试点,保证 sss 的长度不超过 100,且只含 ()[] 四个字符。

分析

  1. 此题一开始看着匹配的方式挺多,比如样例二:([),可以匹配完成为:([]),也可以匹配为:(),所以这时候就要分析到底是什么样的匹配策略。再读题,如果它是一个右括号,考察它与它左侧离它最近的未匹配的的左括号左侧未匹配的左括号不存在或与之不对应,则其配对失败。
  2. 通过再读题就知道了策略是:左括号直接进栈(这不就是验证栈括号是否匹配),遇到右括号去栈顶找匹配的话,出栈,将这两个位置vis标记为1,栈顶不匹配,那就不管这个位置了,到时候输出时候直接输出一对(比如 ‘)’ 在栈顶没找到匹配的,那就不管,输出时候直接输出个 “()” );
#includeusing namespace std;string s;
stack sta;//存下标
int vis[105];//标记每个字符是否匹配int main() {cin >> s;for (int i = 0; i < s.size(); ++i) {//左括号进栈if (s[i] == '(' || s[i] == '[') {sta.push(i);} else {//右括号,先判断栈内是否有匹配if (s[i] == ')' && !sta.empty() && s[sta.top()] == '(') {//栈顶匹配vis[i] = 1;vis[sta.top()] = 1;sta.pop();}if (s[i] == ']' && !sta.empty() && s[sta.top()] == '[') {//栈顶匹配vis[i] = 1;vis[sta.top()] = 1;sta.pop();}}}for (int i = 0; i < s.size(); ++i) {if (vis[i])cout << s[i];else {//直接输出一对if (s[i] == '(' || s[i] == ')')cout << "()";elsecout << "[]";}}return 0;
}

相关内容

热门资讯

银行板块逆势走强,基本面呈现修... 6月10日,A股银行板块早盘快速拉升后维持高位震荡,截至14:20,中证银行指数上涨1.4%,成份股...
早读佛山|楼市企稳回升 ◆稳步复苏!佛山前5月商品房成交面积增长7.9% ◆世界咏春,寻武佛山 ◆首批1264套回迁房交付!...
赛豆科技发布AI汽车品牌AIV... 6月9日,赛豆科技发布AI汽车品牌AIVA,并宣布携手火山引擎,联合定义、联合设计、共同打造AI汽车...
原创 6... 今天这组金价数字一出来,很多人第一反应是先愣一下,国际现货黄金目前在4333美元/盎司附近走,国内足...
微软XBOX CEO夏尔马:上... 6 月 10 日消息,Microsoft(微软)XBOX 首席执行官 Asha Sharma(阿莎・...
阿里国际站与海外独立站联动运营... 单一跨境平台存在规则依赖、流量受限等问题,越来越多的外贸企业选择 “阿里国际站 + 海外独立站” 的...
何小鹏发内部信:兼任机器人业务... 记者|孙磊 编辑|梁露月 余婷婷 杜波 校对|段炼 “即日起,除担任小鹏集团CEO(首席执行官)外,...
原创 淘... 周三市场呈现创业板领跌、其他指数低迷的格局,投资者可以看到,早盘沪指低开24点于3985点,创业板低...
原创 再... 这两天,我又无意间翻到了成毅2023年天猫双十一惊喜夜的一段旧视频,是小摄影师笙笙为他拍照的片段。虽...
A股收评:指数集体走低!煤炭、... 6月10日,A股三大指数集体走低,上证指数跌0.42%报3993点,深证成指跌2.06%,创业板指跌...
北京上协联合河北上协组织京冀两... 上证报中国证券网讯(记者 刘立)6月9日,北京上市公司协会(以下简称“北京上协”)以“市值管理与价值...
股价翻倍、公告却写“无相关营收... 一边是连续涨停,一边是公司自己发公告说:没订单,没营收。 6月9日晚间,16家A股公司集体发布股票交...
一纸研报砸崩CPO板块!英伟达... 一纸研报引爆光通信抛售潮。 周三,港A光通信、CPO等板块全线下挫。 截至发稿,港股长飞光纤光缆跌超...
原创 济...  鲁网6月10日讯(记者 张煜晞)6月10日,济南市莱芜区“百场万企”供需对接活动暨企业融资需求中国...
李乃兴:愿做闽商非洲掘金“铺路... 人物名片: 李乃兴 福建省闽商资本联合会执行会长 福州市企业与企业家联合会法定代表人兼名誉会长 福建...
王健林走了,于东来来了 于东来要给房地产立规矩 文/魏霞 编辑/王芳洁 王健林已经很久没有出现在公众场合了,听说瘦的厉害。...
2026年电商必备:广东ICP... 概述: 在2026年的电商领域,ICP与EDI许可证至关重要。ICP许可证是网站经营的必备资质,证明...
一则消息,硬科技彻底不装了,直... ?昨天想销户,今天(6月9日)想加大银转证,然后一笔梭哈。以为这一次是不知道要调整多久的大分裂,没想...
恒大汽车:董事长肖恩已按大股东... 每经编辑|张锦河 6月9日晚,恒大汽车(00708.HK)发布公告。公告表示,肖恩因为公司业务调整...