SDUT 1451 括号东东
来源:互联网 发布:catia v5r21安装软件 编辑:程序博客网 时间:2024/05/16 12:42
括号东东
Time Limit: 1000MS Memory limit: 65536K
题目描述
已知给出若干个只包含 “(” 或者 “)”字符串str!字符串的长度小于等于100W!求最长合法子串以及合法子串的个数!!
合法字串的格式要求如下:
1. “()”
2. “(())()”
3. “(()(()))”
不合法的情况如:
1. “)(”
2. “(()”
3. “(()))(”
4.......
输入
输入包含若干组测试数据,每组为一行字符串。
输出
对于每组测试数据,输出最长合法子串以及合法子串的个数(如果最长合法子串为0,那么输出 0 1)!
示例输入
))()((())))(()())
示例输出
0 16 2
提示
来源
Azheng@SDJZU
示例程序
这是我们周赛的一道题目,现在看来几乎是最简单的了,这道题目题意表述不清,尤其输出最后让求合法字串的个数的时候,这是这个题目的错误所在,其实这题目让求的是最长合法字串的个数,我一开始就按照求合法字串的个数来做的,可是却是一次又一次的WA,哎,最后问了别人,才知道这题目最后求的是最长合法字串的个数。
其实这道题目求所有合法字串的个数也是一个很不错的题目,求最长合法合法字串的个数,就把这个题目弄的有些简单了。
#include <stdio.h>#include <string.h>#include <math.h>char s1[1000000];char statck[1000000];struct num{ int pos; char c;}b[1000000];int main(){ int i,j,n,m,s,t,l,top,k,res,max; while(scanf("%s",s1)!=EOF) { l=strlen(s1); top=0; for(i=0;i<=l-1;i++) { if(s1[i]=='(') { b[top].pos=i; b[top++].c='('; }else if(s1[i]==')') { if(top>0&&b[top-1].c=='(') { top-=1; }else { top=0; } } } for(i=top-1;i>=0;i--) { s1[b[i].pos]=')'; } top=0; max=0; res=0; k=0; for(i=0,s=0;i<=l-1;i++) { if(s1[i]=='(') { statck[top++]='('; }else if(s1[i]==')') { if(top>0&&statck[top-1]=='(') { s+=2; top-=1; k=1; }else { if(max<s&&k==1) { max=s; s=0; res=1; }else if(max==s&&k==1) { res++; s=0; } s=0; top=0; k=0; } } } if(k==1) { if(max<s) { max=s; res=1; }else if(max==s) { res++; } } if(max!=0) { printf("%d %d\n",max,res); }else { printf("0 1\n"); } } return 0;}
- SDUT 1451 括号东东
- 括号东东(dp+字符串)
- SDUT 2134----括号匹配(栈)
- 栈之 括号匹配(sdut oj2134)
- CF C - Longest Regular Bracket Sequence 括号东东
- SDUT OJ 数据结构实验之栈四:括号匹配
- SDUT 2134 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配 SDUT 2134
- SDUT 2143 数据结构实验之栈四:括号匹配
- sdut oj2134 数据结构实验之栈四:括号匹配
- SDUT OJ 数据结构实验之栈四:括号匹配
- SDUT 2134 数据结构实验之栈四:括号匹配
- SDUT-数据结构实验之栈四:括号匹配
- sdut 数据结构实验之栈四:括号匹配
- [SDUT](2134)数据结构实验之栈四:括号匹配 ---栈
- sdut 2134 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配 sdut-oj
- SDUT 2134 数据结构实验之栈与队列四:括号匹配
- SQLServer2000用存储过程将DTS包文件加载到服务器上
- 元字符
- Cisco模拟器的配置和使用说明
- JDK5.0 Annotation学习笔记(一)
- GCC文档中比较大小的宏定义
- SDUT 1451 括号东东
- ORA-19809: 超出了恢复文件数的限制
- Ember.js常用函数
- dbcp属性说明及配置
- 国外著名的开源社区
- iPad应用的10大用户体验设计准则
- hdu2018母牛的故事
- 如何手工删除windows服务
- winForm窗体关闭按钮实现托盘后台运行(类似QQ托盘区运行)