我傻了我

基本思路就是一个stack的出入栈,没啥好说。主要是“empty string”这个条件把我搞到了。

因为要判断空字符串,所以我在string s; cin>>s读入之后先string.empty()判断一下。

是的,你没有看错,我居然妄图一个回车读入空字符串……

总之前面不管有多少空白字符,后面没有非空白字符,那么这一行,把回车按穿,也不会读入string中。

解决方案:

使用getline读取一整行(回车前的所有字符),可以实现读取空字符串""的操作。

辅以stringstream进行读写操作。

AC代码:

#include <iostream>
#include <string>
#include <stack>
#include <sstream>//stringstream所在using namespace std;int ID(const char c){int ans;switch (c) {case '(':ans=0;break;case ')':ans=1;break;case '[':ans=2;break;case ']':ans=3;break;}return ans;
}int main(){int n;cin>>n;getchar();while (n--){bool ans= true;stack<int>s;string line;getline(cin,line);//可能有空字符串if(line.empty()){cout<<"Yes"<<"\n";continue;}stringstream ss(line);char ch;while(ss>>ch){int a= ID(ch);if(a&1){if(s.empty()){ans= false;break;}int b=s.top();s.pop();if(a-b!=1){ans= false;break;}}else s.push(a);}if(!s.empty()) ans= false;if(ans){cout<<"Yes"<<"\n";}else cout<<"No"<<"\n";}return 0;
}

UVA-673:Parentheses Balance踩坑相关推荐

  1. uva 673 Parentheses Balance

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

  2. Parentheses Balance UVA - 673

    Parentheses Balance UVA - 673 在网上看了很多题解,没看到用map做的(可能是我没找到吧).其实用map可以少用很多if语句! #include<cstdio> ...

  3. UVA 673-Parentheses Balance

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

  4. 【golang程序包推荐分享】分享亿点点golang json操作及myJsonMarshal程序包开发的踩坑经历 :)

    目录[阅读时间:约5分钟] 一.概述 1.Json的作用 2.Go官方 encoding/json 包 3. golang json的主要操作 二.Json Marshal:将数据编码成json字符串 ...

  5. java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

  6. python导入类有红线_python踩坑系列之导入包时下划红线及报错“No module named”问题...

    python踩坑系列之导入包时下划红线及报错"No module named"问题 使用pycharm编写Python时,自己写了一个包(commontool),在同级另一个路径下 ...

  7. mysql运维工资_MySQL运维踩坑

    image ZERO 背景 本文主要是介绍在MySQL使用运维过程中所遇到的一些坑爹的地方,予自己以做记录! 前言 因操作系统重装之后,安装了mysql5.7,而由此带来了一系列的问题,现将解决这些m ...

  8. 微信跳一跳高分辅助踩坑

    旧博文,搬到 csdn 原文:http://rebootcat.com/2018/01/08/wechat_jump_hack/ 最近挺火的微信跳一跳 最近新版微信的『跳一跳』小程序着实火了一把,也把 ...

  9. 【踩坑记录】记一次MySQL主从复制延迟的坑

    最近开发中遇到的一个MySQL主从延迟的坑,记录并总结,避免再次犯同样的错误. 情景 一个活动信息需要审批,审批之后才能生效.因为之后活动要编辑,编辑后也可能触发审批,审批中展示的是编辑前的活动内容, ...

最新文章

  1. Dubbo服务发布调用实现
  2. BootStrap2学习日记16---选项卡内容
  3. 顺序队列,循环队列,链队列
  4. java指定sql生成xml_SQL Server根据查询结果,生成XML文件
  5. 哈佛大学单细胞课程|笔记汇总 (七)
  6. LoadRunner实战
  7. 【生信进阶练习1000days】day14-GenomicDataCommons(GDC)
  8. 古墓丽影暗影显卡测试软件,ROG STRIX RTX 2060 S显卡测试 就是这么能打!
  9. Adobe Creative Cloud登陆中国大陆市场
  10. List<? extends T>和List<? super T>之间的区别
  11. ONGene:基于文献检索的肿瘤基因数据库
  12. word2vec python实现
  13. 300多张精美京剧脸谱,收藏~~
  14. type_traits之 析取 合取 否定
  15. 微信公告号 图灵机器人实现智能回复
  16. HEVC解码器HM源码阅读(三)读取一个NALU
  17. Linux 下 strace 命令用法总结
  18. Promise在各种场景的使用(Promise.all、Promise.allSettled、Promise.race、Promise.any)
  19. 列表,元组,集合总结
  20. 记录Google被和谐的日子

热门文章

  1. 数据结构 删除单链表相同值结点(只留一个,,删除其余相同结点)
  2. Docker安装常用软件-Mysql
  3. IEC104 电力规约解析
  4. JDBC步骤及实现流程
  5. Java类加载过程简述
  6. 重写类的ToString方法
  7. [并发编程专题]多线程
  8. 苹果6信号不好的快速解决方法
  9. 大学期间软件技术专业应该做的
  10. pragma omp parallel for