已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 NOI题库2 2 括号匹配 2 问题描述 在某个字符串 长度不超过100 中有左括号 右括号和大小写字母 规定 与常见的算数式子一样 任何一个左括号都从内到外与在它右边且距离最近的右括号匹配 写一个程序 找到无法匹配的左括号和右括号 输出原来字符串 并在下一行标出不能匹配的括号 不能匹配的左括号用 标注 不能匹配的右括号用 标注 3 输出 输入包括多组数据 每组数据一行 包含一个字符串 只包含左右括号和大小写字母 字符串长度不超过100 输入 对每组输出数据 输出两行 第一行包含原始输入字符 第二行由 和空格组成 和 表示与之对应的左括号和右括号不能匹配 4 5 问题分析 本题大致意思就是 对给定的多个字符串 输出其中无法匹配的括号标记 左括号 右括号 其他字符输出空格 且位置严格按照原串 所以最重要的就是找出无法匹配的括号并标记 6 问题分析 那么 如何找呢 首先要清楚什么是匹配 题目说 任何一个左括号都从内到外与在它右边且距离最近的右括号匹配 aa a bb 下图中 相同颜色的括号匹配 7 问题分析 很容易想到 可以假设一开始查找到的 无法匹配 设为 并记录下它的下标 其他字符直接设为空格 如此 直到查找到 访问它和离它最近的 的下标 在原串中设为空格 当然 如果找到的 下标是一个不可能的值 例如 1 则该 无法匹配 在原串中设为 aa a bb 8 这样就写出了代码 strings while getline cin S 读入整行 cout S endl 输出原串intleft 102 j 0 left 记录所有 在S中的下标 j只是指针memset left 1 sizeof left 初始化 1for inti 0 i S size i 查找 if S i 找到 left j i 记录下标S i 假设该括号未匹配 9 elseif S i 找到 if left j 0 有匹配的左括号 下标不为 1 S left j S i 设空j 找上一个左括号 elseS i 未匹配 elseS i 其他字符设空 cout S endl 输出 已修改后的S 对吗 10 如果 下标从left 0 开始存储 当第一个 匹配完后 j 1 就会出现下标越界 只要修改一句 left j i left j i 完成 11 本算法时间复杂度O n 本题相当于普及组1 2题难度 Than
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2027学年部编版一年级语文培优提升试卷及答案
- 2026-2027学年教科版二年级英语月考联考试卷及答案
- 表达问题的课件
- 新加坡酷航空乘客舱火种管控常识模拟试卷及答案
- 2026年事业单位《职业能力测试》押题试卷
- 2026年语文教师招聘考试教育理论培训试卷
- 2026年高校环境工程专业环境监测专项训练试卷
- 2026年律师执业考试刑法总则考点精练卷
- 新加坡酷航空乘客舱应急信号识别模拟试卷及答案
- 企业预算管理进阶指南
- 以“麦”相传-麦秆画
- 2025年金字塔原理试卷及答案
- 《小学科学课程标准》(修订稿)
- 西藏酥油茶的课件
- 2026上海电力股份有限公司校园招聘笔试备考题库及答案解析
- 国开2025年秋《农业推广》形成性考核1-3答案
- 冬季矿山五防安全培训课件
- 小儿推拿进修总结汇报
- 2025年上海市公务员《行政职业能力测验(B卷)》试题(网友回忆版)
- 向往混声合唱谱【简谱】
- 解码国家安全-知到答案、智慧树答案
评论
0/150
提交评论