1476: 括号括号

时间限制: 3 Sec 内存限制: 128 MB

提交: 305 解决: 61 统计

题目描述

小明今年上大学,在大学里发现有很多同学都女朋友,两人整天都在一起腻歪,小明看到后感觉很孤单,现在,给你一行括号序列,你来判断一下其中的括号是否配对。

输入

多组输入,每一组第一行输入一个数T(0<<N≤≤100),表示有T组测试数据。后面的T行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[", "]", "(", ")" 四种字符

输出

每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No。

样例输入

3
[(])
(])
([[]()])

样例输出

No
No
Yes

思路

两个循环,i从左往右遍历,j从右往左遍历,当i>=j的时候停止,如果遇到能匹配的括号,将这两个括号变成别的符号,当循环结束后统计括号的个数或者统计不是括号的个数(刚才改变成的符号)。如果括号数为0或者符号数为l,输出“Yes”

AC代码

emmmmm,下面这个代码是错的,数据太水了,就AC了ヽ( ̄▽ ̄)ノ。真正的AC代码在最后

#include<bits/stdc++.h>
#define ll long long
#define ms(a) memset(a,0,sizeof(a))
#define pi acos(-1.0)
const int maxn=1e6+10;
using namespace std;
char ch[maxn];
int main()
{int n;while(~scanf("%d",&n)){while(n--){scanf("%s",ch);int l=strlen(ch);if(l%2)printf("No\n");else{int flag=0;for(int i=0;i<l;i++){for(int j=l-1;j>=0;j--){if(i>=j)break;if(ch[i]=='('||ch[i]=='['){if((ch[i]=='('&&ch[j]==')')||(ch[i]=='['&&ch[j]==']')){if((j-i)%2){ch[i]='!';ch[j]='!';}elsecontinue;}}}}for(int i=0;i<l;i++){if(ch[i]=='!')flag++;}if(flag==l)printf("Yes\n");elseprintf("No\n");}}}return 0;
}

这个才是AC代码

#include<iostream>
#include<stack>
#include<string>
#include <stdio.h>
using namespace std;
bool judge(string str)
{stack<char>S;while(!S.empty())S.pop();int len=str.length();int i;char temp;for(int i=0;i<len;i++){if(str[i]=='('||str[i]=='[')S.push(str[i]);else{if(S.empty()) return false;temp=S.top();S.pop();switch(str[i]){case ')':{if(temp!='(') return false;continue;}case ']':{if(temp!='[') return false;continue;}}}}if(!S.empty()) return false;return true;
}
int main()
{int ntest;while(scanf("%d",&ntest)!=EOF){string str;while(ntest--){cin>>str;if(judge(str))cout<<"Yes"<<endl;elsecout<<"No"<<endl;}}
return 0;
}

转载于:https://www.cnblogs.com/Friends-A/p/10324432.html

HPU 1476: 括号括号相关推荐

  1. python显示无效语法怎么处理-python – 无效语法(对于循环括号/括号)

    以下代码行输出SyntaxError:无效语法 for (i in range(-WIDTH,WIDTH)): 下一个工作没有错误.我不知道这里应该是什么语法错误.所以我只是出于好奇而问.我猜测括号会 ...

  2. html大小括号,括号字符.html

    括号字符 var res = '1234'.match(/(\d)(\d)(\d)(\d)/); console.log(res); var str = 'Regular Capture'; var ...

  3. 递归/回溯:Generate Parentheses生成合法括号

    已知n组括号,开发一个程序,生成这n组括号所有的合法的组合可能. 例如:n = 3 结果为: ["((()))", "(()())", "(())() ...

  4. 幼儿园带括号算式口诀_整理41组“数学顺口溜”+大九九乘法口诀表!给孩子们收藏...

    1.乘法口诀儿歌 一只青蛙一张嘴,两只眼睛四条腿. 两只青蛙两张嘴,四只眼睛八条腿. 三只青蛙三张嘴,六只眼睛十二条腿. 四只青蛙四张嘴,扑嗵扑嗵跳下水. 2.一个数除几位数儿歌 先看被除数最高位,高 ...

  5. linux中vi大括号enter缩进,格式 – 如何在vi中对齐代码(大括号,括号等)?

    我的答案中的这些命令在vim中工作.大多数认为他们正在使用vi的人正在使用vim.要确定你的'vi'是否真的是'vim',打开vi并键入:version – 如果是vim,它会这样说.否则,您可能只看 ...

  6. Visual Studio Code一个帮助我们进行括号配对的扩展应用,Rainbow

    我们在做前端开发时,特别是用React,Vue和Angular这些框架进行比较复杂的前端应用开发时,不可避免的需要使用多层嵌套的括号: 括号嵌套层数一多,检查括号匹配就成了一个比较头疼的问题.这时我们 ...

  7. 幼儿园带括号算式口诀_这么全的小学数学速算技巧、口诀不多见,教给孩子挺不错!...

    在平时练习中,掌握简便算法可以给孩子大大节省时间,让孩子数学计算更快更好! 速算顺口溜 ☞ 认识钟表 跑的最快是秒针,个儿高高,身材好; 跑的最慢是时针,个儿短短,身材胖. 不高不矮是分针,匀速跑步作 ...

  8. html中input两个圆括号,如何使用Jquery将光标聚焦在两个括号(括号)之间?

    我有一个与按钮一起工作的计算器来分配值.主要想法是生成公式.这些值被无缝添加到"输入"中.所有支架输入您相应的按钮时,我需要发生的是继续在括号如何使用Jquery将光标聚焦在两个括 ...

  9. latex数学公式(行内(间)公式标注/希腊字母/数学函数/配对括号/定理环境

    本博文源于Latex,主要对Latex的数学公式进行学习,Latex的核心莫过于它的数学公式的宏包,宏包过于强大,以致于数学公式编辑起来非常优美.本博文分为: 行内行间两种公式的编写 各种字母的数学 ...

最新文章

  1. MySQL常见的几个错误汇总
  2. 08.update_by_query操作
  3. 22. Kotlin学习笔记 (一) 约定
  4. Struts2内置拦截器和自定义拦截器
  5. Learning Multiview 3D point Cloud Registration论文阅读笔记
  6. UVA 11825 Hackers' Crackdown 状态DP
  7. nmap 扫描工具 使用方法
  8. javascript(定时函数)
  9. pmp培训机构哪个好?各pmp培训机构排名如何?
  10. 超媒体是什么?Hypermedia(一种采用非线性网状结构对块状多媒体信息(包括文本、图像、视频等)进行组织和管理的技术)
  11. 块引用—Markdown极简入门教程(6)
  12. Python练习--模仿王者荣耀定义两个英雄类
  13. 全国首例!法院判售假者在淘宝网说“对不起”
  14. 在keil MDK中定义非初始化(noini)变量
  15. 中值滤波medianBlur函数的使用示例程序
  16. 量化交易alpha、beta、shape等基本概念梳理
  17. 怎么使用软件操作将桌面上CAD转换为黑色背景WMF格式?
  18. 咖说 | 姚前:区块链与央行数字货币
  19. 记录:google map谷歌地图自定义叠加层overlay流程
  20. IT行业发展前景分析

热门文章

  1. 时间字符串与时间戳批量转换
  2. php 操件文件指定编码,(PHP帮助)如果文件中存在特定编号,请执行此操作
  3. php windowcrlf和unix,文件格式unix与dos转换,CRLF与LF的区别查看
  4. oracle9i 是否安全,指纹识别与Oracle 9i安全特性解析
  5. oracle中ak约束,Oracle自定义聚集函数
  6. python3内置函数_python3--内置函数
  7. C语言学习笔记---枚举类型enum
  8. Spring中控制反转IoC理论推导
  9. Matplotlib作业一
  10. 一文详解LDA主题模型