括号匹配问题
2015-09-14 15:55
204 查看
/*括号配对问题:第一行输入一个数N(0<N<=100),表示有N组测试数据。*/ /*后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),*/ /*测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符。匹配输出yes,否则输出no*/ /*author:dzw*/ /*date:2015-9-14*/ /*解析:用a表示左括号个数,匹配一个a减1.故最后a=0时则匹配成功。*/ /*特例:如果匹配成功字段后下面的首个字符是右括号,用标识b来表示,此时无论后面又多少括号都不匹配成功*/ #include<stdio.h> #include<string.h> int main() { int n,i,j; scanf("%d",&n); int c ; char num [10000]; for(i=0;i<n;i++) { int a=0,b=1; scanf("%s",num[i]); for(j=0;j<strlen(num[i]);j++) { switch(num[i][j]) { case ')':if(a==0) b=0;if(num[i][a-1]=='(') a-=1;break; case ']':if(a==0) b=0;if(num[i][a-1]=='[') a-=1;break; case '(':num[i][a]=num[i][j];a+=1;break; case '[':num[i][a]=num[i][j];a+=1;break; } } if(a!=0|b==0) c[i]=0; else c[i]=1; } for(i=0;i<n;i++) { if(c[i]==0) printf("no\n"); else printf("yes\n"); } return 0; }
自己测试通过,但是不能Accepted。不知道为什么
相关文章推荐
- 纯CSS3制作皮卡丘动画壁纸
- 使用jQuery查找注册到某个DOM对象的事件处理函数
- 响应式网页设计的9条基本原则
- 自定义View的三种构造方法
- IOS 获取,如电量,CPU,型号
- keepalived
- HDOJ 5448 Marisa’s Cake
- 面向对象的五个基本原则
- Swift 分享多媒体消息到 微信/新浪微博/QQ
- IOS常用工具类宏定义
- js带缩略图的图片轮播效果代码分享
- 干货 | Docker文件系统的分层与隔离
- LINUX下使用Shell自动监控tomcat并且执行重启操作
- Volley的简单使用
- Climbing Stairs
- iOS Frame和bounds的区别
- Hibernate懒加载的三种解决方案
- Tomcat startup.bat 能成功启动, Eclipse 里却不能启动Tomcat.
- CStdioFile的Writestring无法写入中文的问题
- Oracle中间oid注册相关