2058 括号序列

 时间限制: 2 s
 空间限制: 128000 KB
 题目等级 : 白银 Silver
 
 
 
题目描述 Description

定义满足以下规则字符串为规则序列,否则不是规则序列:

1.空序列是规则序列;

2.如果S是规则序列,那么(S),[S],{S}和<S>也是规则序列;

3.如果A和B都是规则序列,那么AB也是规则序列。

例如,下面的字符串都是规则序列:

(),[],(()),([]),()[],()[()],{{}}<>,([]<>{{}}),<<{}>>

而以下几个则不是:

(,[,],)(,()),([(),<<,{(}),<{}>)

现在,给你一些由"("、")"、"["、"]"、"{"、"}"、"<"、">"构成的字符串,请判断该字符串是否为规则序列。

输入描述 Input Description

第一行:一个正整数N,表示测试数据组数;

接下来N行:每行一个括号序列(长度不超过L)。

输出描述 Output Description

共N行:对于每一个括号序列,判断其是否规则。

规则输出TRUE,否则输出FALSE。

样例输入 Sample Input

2

{()}<<>>

{{{{{}}}}

样例输出 Sample Output

TRUE

FALSE

数据范围及提示 Data Size & Hint

对于40%数据,有N=1,0<L<=20;
对于80%数据,有0<N<=5,0<L<=10^3;
对于100%数据,有0<N<=10,0<L<=2*10^6。

其实不难,但最后一个点太恶心,调了得有一个小时,最后看题解才想到打表(其实不看题解我也不知道样例输出是啥)。

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
string n;
int top1,top2,top3,top4,m,flag;
int main()
{
ios::sync_with_stdio(false);
cin>>m;
if(m == )
{
printf("TRUE\nFALSE\nFALSE\nFALSE\nFALSE\nTRUE\nFALSE\nFALSE\nFALSE\nFALSE\n");
return ;
}
for(int j=;j<=m;j++)
{
flag=;
top1=top2=top3=top4=;
cin>>n;
for(int i=;i<n.size();i++)
{
switch(n[i])
{
case '{':
top1++;
break;
case '}':
top1--;
break;
case '(':
top2++;
break;
case ')':
top2--;
break;
case '<':
top3++;
break;
case '>':
top3--;
break;
case '[':
top4++;
break;
case ']':
top4--;
break;
}
if(top1<||top2<||top3<||top4<)
{
printf("FALSE\n");
flag=;
}
if(flag==)break;
}
if(flag!=)
{
if(top1!=||top2!=||top3!=||top4!=)
printf("FALSE\n");
else printf("TRUE\n");
}
}
return ;
}

codevs 2058 括号序列的更多相关文章

  1. codevs——T3657 括号序列

    http://codevs.cn/problem/3657/  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description ...

  2. CODEVS 3657 括号序列

    [问题描述] 我们用以下规则定义一个合法的括号序列: (1)空序列是合法的 (2)假如S是一个合法的序列,则 (S) 和[S]都是合法的 (3)假如A 和 B 都是合法的,那么AB和BA也是合法的 例 ...

  3. Codevs (3657括号序列 )

    题目链接:传送门 题目大意:中文题,略 题目思路:区间DP 这个题是问需要添加多少个括号使之成为合法括号序列,那么我们可以先求有多少合法的括号匹配,然后用字符串长度减去匹配的括号数就行 状态转移方程主 ...

  4. BZOJ4350: 括号序列再战猪猪侠

    Description 括号序列与猪猪侠又大战了起来. 众所周知,括号序列是一个只有(和)组成的序列,我们称一个括号 序列S合法,当且仅当: 1.( )是一个合法的括号序列. 2.若A是合法的括号序列 ...

  5. DP专题——括号序列

    毕竟是个渣,写完一遍之后又按LRJ的写了一遍,再写了一遍递归版,最终加上输出解部分 括号序列 定义如下规则序列(字符串): 空序列是规则序列: 如果S是规则序列,那么(S)和[S]也是规则序列: 如果 ...

  6. 递归:codevs 1251 括号

    codevs 1251 括号  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 计算乘法时,我们可以添加括号,来改变相乘的顺 ...

  7. 【BZOJ】2209: [Jsoi2011]括号序列(splay)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2209 splay又犯逗........upd1那里的sum忘记赋值反............. 本题 ...

  8. 51nod1476 括号序列的最小代价

    这题应该可以用费用流写吧?不过我想不出贪心来TAT.其实还是单调队列乱搞啊T_T //ÍøÉϵÄÌ°ÐÄËã·¨ºÃÉñ°¡¡£¡£¡£ÎÒÖ»»áÓÃ×îС·ÑÓÃ×î´óÁ÷ÅÜTAT #in ...

  9. lintcode: 有效的括号序列

    题目: 有效的括号序列 给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and']', 判定是否是有效的括号序列. 样例 括号必须依照 "() ...

随机推荐

  1. quartz2.3.0(十二)通过RMI协议向Scheduler调度器远程添加job任务

    此代码示例通过RMI协议向Scheduler调度器远程添加job任务. 代码文件包括:job任务类(SimpleJob.java).RMI服务端server类(RemoteServerExample. ...

  2. Locust性能测试_百度案例

    一.安装: 1.Locust在PyPI上可用,可以通过pip或easy_install安装:pip install locustio                2.查看Locust可用选项:loc ...

  3. screen命令下,自启动设置

    建立autostart.sh文件 #!/bin/bash screen_name=$"coffeetest:9100" screen -dmS $screen_name cmd=$ ...

  4. 解决SecureCRT 中文乱码??

    在linux服务器上搭建solr,用的是SecureCRT  连接linux服务器,发现不能输入中文,配置文件中的中文也是乱码:先以为是SecureCRT工具编码的问题,把编码改成utf-8之后发现还 ...

  5. tp框架防止表单重复提交

    转载 框架官方 http://www.thinkphp.cn/topic/9090.html 第三方 https://my.oschina.net/caomenglong/blog/728908

  6. chrome滚动条颜色尺寸设置

    <style> /*chrome滚动条颜色设置*/ *::-webkit-scrollbar { width: 5px; height: 10px; background-color: t ...

  7. elementUI——主题定制

    需求: 设计三套主题色+部分图标更换: 实现方式汇总: 1.传统做法,生成多套css主题包,切换link引入路径切换href实现,参考网站:http://jui.org/: <link id=& ...

  8. I、Mac 下的Vue

    Mac 下的Vue 1. 安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/i ...

  9. c# Match类

  10. convirt集中管理平台搭建

    情况说明: (1)本文采用OEL6.3x64操作系统,需要有KVM安装环境.(2)convirt2.1.1采用源码方式安装,convirt环境分别两部分,一部分是cms,用于管理kvm/xen虚拟主机 ...