Parentheses Balance UVA - 673

在网上看了很多题解,没看到用map做的(可能是我没找到吧)。其实用map可以少用很多if语句!

#include<cstdio>
#include<map>
#include<cstring>
#include<stack>
#include<iostream>
using namespace std;
int main()
{int n, i, l;char data[130];map<char, int> m;m.insert(pair<char, int>('[', 1));m.insert(pair<char, int>(']', -1));m.insert(pair<char, int>('(', 2));m.insert(pair<char, int>(')', -2));scanf("%d", &n);getchar();while (n--){/*fgets(data, 129, stdin);*/gets(data);l = strlen(data);stack<char> s;s.push('1');for (i = 0; i < l; i++){//printf("%c ",data[i]);if (m[s.top()] + m[data[i]] == 0 && m[data[i]] < 0)//应该是[ 对 ]的,而不是[ 对 [ ,另外要考虑到 ][s.pop();elses.push(data[i]);//printf("s.size()=%d ", s.size());}//printf("s.size()=%d ", s.size());if (s.size() == 1)printf("Yes\n");elseprintf("No\n");}return 0;
}

Parentheses Balance UVA - 673相关推荐

  1. Parentheses Balance UVA - 673(模拟)

    题目大意:类似于括号匹配. 思路:用栈简单模拟就行了,关键是怎么读入空格. 用getline(cin,str),就行了,如果读入的是空格怎么判断呢,只需要if(str[0]=='\0'),那么为什么不 ...

  2. UVA 673-Parentheses Balance

    UVA 673-Parentheses Balance 题目大意:1 A =[]或()算正确 2 A为BC(B,C都是正确的话)算正确 3 A = [M]或(M)(M为正确的话)算正确 解题思路:用栈 ...

  3. UVa673 - Parentheses Balance

    //UVa673 - Parentheses Balance //已AC #include<iostream> #include<string> #include<sta ...

  4. uva 673 Parentheses Balance

    原题: You are given a string consisting of parentheses () and []. A string of this type is said to be ...

  5. B - Parentheses Balance (UVA - 673)

    - 题目大意 给出两个字符()[],然后根据给的条件来判断. - 解题思路 根据给的三个条件,然后利用栈来处理,对于暂时没有后括号匹配的前括号压入栈,遇到后括号时看栈顶的前括号与其是否匹配,如果匹配则 ...

  6. 习题6-1 平衡的括号(Parentheses Balence,UVa 673)

    原题链接:https://vjudge.net/problem/UVA-673 分类:栈 备注:水题 分析:简单的大学课本里都有的认识栈的第一步. #include<iostream> # ...

  7. 【uva-673】 Parentheses Balance(括号匹配问题)

    题干: You are given a string consisting of parentheses () and []. A string of this type is said to be  ...

  8. Parentheses Balance (括号平衡)---栈

    题目链接:https://vjudge.net/contest/171027#problem/E Yes的输出条件: 1. 空字符串 2.形如()[]; 3.形如([])或者[()] 分析: 1.设置 ...

  9. uva673 Parentheses Balance

    题意:看括号是否匹配 解题思路:一直想用递归来做,发现做不出  后来才想到消去当今可以消去的() 与 [] 的括号  循环找就行了 #include <stdlib.h> #include ...

最新文章

  1. [译] Spring 的分布式事务实现-使用和不使用XA — 第三部分
  2. 聊聊Unsafe的一些使用技巧
  3. 小熊派4G cat1模块体验测试报告,AT命令发送短信拨号无脑教程,cat1移动网速测试...
  4. SAP SD 销售凭证如何设置字段必填
  5. 解决安装pytorch慢的方法(pip安装)
  6. jQuery学习整理 (12)
  7. scanf( )函数的返回值
  8. try catch finally 中包含return的几种情况,及返回结果
  9. Mysql_mysql force Index 强制索引
  10. lucene全文检索的概念
  11. rpm常用命令集合2
  12. c语言中Oo是什么进制整数字,C语言中的大小端存储及原码补码反码的运算关系 %d %u...
  13. SMTP邮件服务器要求安全连接或客户端未通过身份验证的各个解决方案
  14. eclipse、myeclipse大代码格式化 (自动对齐) 功能,太长的行会被强制换行
  15. 和面试官面对面—常见接口测试面试题汇总(附参考答案)
  16. 进出队C语言不用链表,C语言面试题总汇简要
  17. Flutter-如何计算文字宽高
  18. Win10微软补丁KB5018410致金蝶客户端无法连接中间件
  19. 计算机外部设备选购及组装
  20. Microsoft Visio 2010 - 编辑属性值

热门文章

  1. 修改本地host文件
  2. python读取数据校验数据_python做本地数据与数据库的校验
  3. unity3d collider自动调整大小_Unity 3D | 美术向系列教程2_地形系统介绍
  4. rac异常诊断分析一则
  5. maven-assembly-plugin 快速入门(maven assembly 插件)
  6. 目前常用AD/DA芯片简介
  7. leetcode 605. 种花问题(python)
  8. 我在MIT人工智能研究实验室工作一年学到的 5 件事!
  9. 51单片机串口波特率
  10. combit Report新导出格式选项,combit Report添加子报表和项目