UVA-673:Parentheses Balance踩坑
我傻了我
基本思路就是一个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踩坑相关推荐
- uva 673 Parentheses Balance
原题: You are given a string consisting of parentheses () and []. A string of this type is said to be ...
- Parentheses Balance UVA - 673
Parentheses Balance UVA - 673 在网上看了很多题解,没看到用map做的(可能是我没找到吧).其实用map可以少用很多if语句! #include<cstdio> ...
- UVA 673-Parentheses Balance
UVA 673-Parentheses Balance 题目大意:1 A =[]或()算正确 2 A为BC(B,C都是正确的话)算正确 3 A = [M]或(M)(M为正确的话)算正确 解题思路:用栈 ...
- 【golang程序包推荐分享】分享亿点点golang json操作及myJsonMarshal程序包开发的踩坑经历 :)
目录[阅读时间:约5分钟] 一.概述 1.Json的作用 2.Go官方 encoding/json 包 3. golang json的主要操作 二.Json Marshal:将数据编码成json字符串 ...
- java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实
好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...
- python导入类有红线_python踩坑系列之导入包时下划红线及报错“No module named”问题...
python踩坑系列之导入包时下划红线及报错"No module named"问题 使用pycharm编写Python时,自己写了一个包(commontool),在同级另一个路径下 ...
- mysql运维工资_MySQL运维踩坑
image ZERO 背景 本文主要是介绍在MySQL使用运维过程中所遇到的一些坑爹的地方,予自己以做记录! 前言 因操作系统重装之后,安装了mysql5.7,而由此带来了一系列的问题,现将解决这些m ...
- 微信跳一跳高分辅助踩坑
旧博文,搬到 csdn 原文:http://rebootcat.com/2018/01/08/wechat_jump_hack/ 最近挺火的微信跳一跳 最近新版微信的『跳一跳』小程序着实火了一把,也把 ...
- 【踩坑记录】记一次MySQL主从复制延迟的坑
最近开发中遇到的一个MySQL主从延迟的坑,记录并总结,避免再次犯同样的错误. 情景 一个活动信息需要审批,审批之后才能生效.因为之后活动要编辑,编辑后也可能触发审批,审批中展示的是编辑前的活动内容, ...
最新文章
- Dubbo服务发布调用实现
- BootStrap2学习日记16---选项卡内容
- 顺序队列,循环队列,链队列
- java指定sql生成xml_SQL Server根据查询结果,生成XML文件
- 哈佛大学单细胞课程|笔记汇总 (七)
- LoadRunner实战
- 【生信进阶练习1000days】day14-GenomicDataCommons(GDC)
- 古墓丽影暗影显卡测试软件,ROG STRIX RTX 2060 S显卡测试 就是这么能打!
- Adobe Creative Cloud登陆中国大陆市场
- List<? extends T>和List<? super T>之间的区别
- ONGene:基于文献检索的肿瘤基因数据库
- word2vec python实现
- 300多张精美京剧脸谱,收藏~~
- type_traits之 析取 合取 否定
- 微信公告号 图灵机器人实现智能回复
- HEVC解码器HM源码阅读(三)读取一个NALU
- Linux 下 strace 命令用法总结
- Promise在各种场景的使用(Promise.all、Promise.allSettled、Promise.race、Promise.any)
- 列表,元组,集合总结
- 记录Google被和谐的日子