括号匹配(二)
来源:互联网 发布:配置php开发环境 编辑:程序博客网 时间:2024/05/22 12:24
题目描述
给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。
如:
[]是匹配的
([])[]是匹配的
((]是不匹配的
([)]是不匹配的
如:
[]是匹配的
([])[]是匹配的
((]是不匹配的
([)]是不匹配的
输入
第一行输入一个正整数N,表示测试数据组数(N<=10)
每组测试数据都只有一行,是一个字符串S,S中只包含以上所说的四种字符,S的长度不超过100
每组测试数据都只有一行,是一个字符串S,S中只包含以上所说的四种字符,S的长度不超过100
输出
对于每组测试数据都输出一个正整数,表示最少需要添加的括号的数量。每组测试输出占一行
样例输入
4[]([])[]((]([)]
样例输出
0032
#include<iostream>#include<cstdio>#include<cstring>using namespace std;char e[100],r[500];int main(){int n;cin >> n;while(n--){cin >> e;int i,top=0,count=0,temp,flag,k;for(i=0;i<strlen(e);i++){temp=flag=0;k=top;if(e[i]=='(' || e[i]=='[') r[top++]=e[i];else{if((e[i]==')'&&r[top-1]=='(')||(e[i]==']'&&r[top-1]=='['))top--;else{while(k!=0){if((e[i]==')'&&r[k-1]=='(')||(e[i]==']'&&r[k-1]=='[')){temp=1;top=k-1;break;}else{flag+=1;}k--;}if(!temp) count+=1;else count+=flag;}}}count+=top;printf("%d\n",count);}return 0;}
0 0
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- 括号匹配(二)
- nyoj15-括号匹配(二)
- Oralce中delete和delete from
- python 取代字符串中的某项 replace,split, join
- 输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。 为了简单起见,我们假设push序列的任意两个整数都是不相等的
- UVALive2889 Palindrome Numbers(回文数,神级代码....)
- Qt入门可能会遇到的一些问题
- 括号匹配(二)
- Object-c对象和消息传递
- Servlet详解
- MFC-GUI绘图相关摘要
- 阿里云ECS+Gunicorn+Supervisor+Nginx部署Flask
- 2016华为机试题:大数相减
- 一个月有几天
- Git 放弃本地修改 强制更新
- LinkIt Assist 2502开发笔记2: 固件的更新