【题目描述】

在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?"标注。

【输入】

输入包括多组数据,每组数据一行,包含一个字符串,只包含左右括号和大小写字母,字符串长度不超过100。

【输出】

对每组输出数据,输出两行,第一行包含原始输入字符,第二行由"$","?"和空格组成,"$"和"?"表示与之对应的左括号和右括号不能匹配。

【输入样例】

((ABCD(x)
)(rttyy())sss)(

【输出样例】

((ABCD(x)
$$
)(rttyy())sss)(
?            ?$

【源程序】

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#define PI acos(-1.0)
#define E 1e-9
#define INF 0x3f3f3f3f
#define LL long long
const int MOD=1000000007;
const int N=10000+5;
const int dx[]= {-1,1,0,0};
const int dy[]= {0,0,-1,1};
using namespace std;
char a[101],b[101];
stack<int> S;
int main(){while(cin>>a){int len=strlen(a);for(int i=0;i<len;i++){if(a[i]=='('){S.push(i);b[i]=' ';}else if(a[i]==')'){if(!S.empty())//栈不为空{S.pop();b[i]=' ';}elseb[i]='?';}elseb[i]=' ';}while(!S.empty())//栈不为空{b[S.top()]='$';S.pop();}b[len]='\0';cout<<a<<endl;cout<<b<<endl;}return 0;
}

扩号匹配问题(信息学奥赛一本通-T1203)相关推荐

  1. 表达式括号匹配(信息学奥赛一本通-T1353)

    [题目描述] 假设一个表达式有英文字母(小写).运算符(+,-,*,/)和左右小(圆)括号构成,以"@"作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配, ...

  2. 信息学奥赛一本通 1203:扩号匹配问题 | OpenJudge 2.2 2705:扩号匹配问题

    [题目链接] ybt 1203:扩号匹配问题 OpenJudge 2.2 2705:扩号匹配问题 [题目考点] 1. 递归 2. 栈 [解题思路] 解法1:递归 设sign字符数组,各元素初始值都是空 ...

  3. 信息学奥赛一本通(1203:扩号匹配问题)

    1203:扩号匹配问题 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 7154     通过数: 3817 [题目描述] 在某个字符串(长度不超过100)中有左括 ...

  4. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  5. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  6. 信息学奥赛一本通在线提交地址

    信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...

  7. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...

  8. 信息学奥赛一本通 1358:中缀表达式值(expr)

    [题目链接] ybt 1358:中缀表达式值(expr) [题目考点] 1. 表达式求值 中缀表达式转后缀表达式 后缀表达式求值 [解题思路] 由于题目要求做中缀表达式转为后缀表达式,而后求值.那么这 ...

  9. 信息学奥赛一本通C++语言-----1120:同行列对角线的格

    [题目描述] 输入三个自然数nn,ii,j(1≤i≤n,1≤j≤n)j(1≤i≤n,1≤j≤n),输出在一个n×nn×n格的棋盘中(行列均从11开始编号),与格子(ii,jj)同行.同列.同一对角线的 ...

最新文章

  1. 面试官:你能说说事务的几个特性是啥?有哪几种隔离级别?
  2. Centos 6.4 PPTP ×××搭建
  3. Ubuntu使用PBIS认证
  4. 【错误记录】Android 可执行权限报错 ( Cannot run program “/data/user/0/cn.e/ffmpeg“: error=13,Permission denied )
  5. 用户体验设计案例分析
  6. 如何将 Linq 的查询结果转为 HashSet ?
  7. 用python解决生活问题_Python解决生活问题之闹钟程序的实现
  8. 内推 | 无人驾驶~小马智行Pony.ai 2020
  9. 设计php框架_PHP微型框架设计
  10. php 动态修改函数,php – 动态调用函数
  11. vue展示日历 考勤展示_vue实现简单的日历效果
  12. bt709和srgb_选择用于多用途视频编辑和色彩校正的显示器— sRGB,DCI-P3,REC 709
  13. 停车场管理系统软件详细设计说明书
  14. 梭子鱼网络:2018年网络安全威胁预测
  15. 通过同花顺股票程序化交易接口的止损方法有哪些?
  16. lcd和oled的区别哪个好
  17. cosolog打印带样式的文字及图片
  18. adb的问题“No command ‘adb’ found, did you mean:”
  19. 将12小时制改为24小时制
  20. tar无法解压bz2压缩包问题

热门文章

  1. 跟着阿里大牛捞干货:2019这5本书带你玩转大数据
  2. c++ 确定百分比_【文献笔记】JIMF中国货币政策的不确定性
  3. 巨坑!这公司的行为,挺适合清明节!
  4. 平均工资达 1.6 万元!2020 年一线城市程序员工资大曝光
  5. 日志打印出来的对象都是XXX@39ddf169这样的,怎么办?
  6. JEECG Word模板导出教程
  7. 微信分享JS-SDK示例页面
  8. Eclipse导出可执行JAR文件的方法
  9. SpringBoot2.0 整合 Redis集群 ,实现消息队列场景
  10. Mask R-CNN