喵哈哈村的括号序列

描述

喵哈哈村的括号序列和外界的括号序列实际上是一样的。

众所周知"()"这样的,就是一个标准的括号序列;"()()()()"这样也是括号序列;“((()))()”这样也是一个合法的括号序列。但是"((("这样,就不是一个合法的括号序列了。

现在沈宝宝非常好奇,给你一个字符串,请从中找出最长的合法括号序列出来。

不知道你能找到吗?

输入

第一行一个T,表示有T组数据。
接下来T行,每一行都是一个字符串。
保证字符串的长度小于100000。
而且字符串中保证只会出现"(",")"这两种字符之一。
1<=T<=10

输出

对于每一组测试数据,输出最长的合法括号序列的长度。

样例输入1 复制

2
)((())))(()())
)(

样例输出1

6
0
#include <iostream>
#include <stack>
#include <string>
#include <cmath>
#include <math.h>
#include <stdio.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        string a;
        cin>>a;
        stack<int> s;
        s.push(-1);
        s.push(0);
        for(int i = 1;i < a.length(); i++)
        {
            if(a[s.top()] == ‘(‘ && a[i] == ‘)‘)
            {
                s.pop();
            }
            else{
                s.push(i);
            }
        }
        s.push(a.length());
        int falg = s.top();
        s.pop();
        int cmp;
        int M = -1;
        while(!s.empty())
        {
            cmp = s.top();
            s.pop();
            M = max(M,abs(cmp-falg));
            falg = cmp;
        }
        cout<<M-1<<endl;
    }
    return 0;
}

  

时间: 2024-10-19 22:44:01

喵哈哈村的括号序列的相关文章

数据结构(括号序列,线段树):ZJOI 2007 捉迷藏

[题目描述] Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩捉迷藏游戏.他们的家很大且构造很奇特,由N个屋子和N-1条双向走廊组成,这N-1条走廊的分布使得任意两个屋子都互相可达. 游戏是这样进行的,孩子们负责躲藏,Jiajia负责找,而Wind负责操纵这N个屋子的灯.在起初的时候,所有的灯都没有被打开.每一次,孩子们只会躲 藏在没有开灯的房间中,但是为了增加刺激性,孩子们会要求打开某个房间的电灯或者关闭某个房间的电灯.为了评估某一次

【UOJ】【UR #2】猪猪侠再战括号序列(splay/贪心)

http://uoj.ac/problem/31 纪念伟大的没有调出来的splay... 竟然那个find那里写错了!!!!!!!!!!!!! 以后要记住:一定要好好想过! (正解的话我就不写了,太简单了.. #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <iostream> #include <algorithm> #

2017-5-20-Train: 喵哈哈村的魔法考试 Round #17 (Div.2)

A.喵哈哈村的秘境探险(数学) 描述 喵哈哈村的一堆人在前往北京的路上,发现了一个洞穴.由于好奇心大作,于是准备前往洞穴进行探险. 但是有一些人并不愿意前往洞穴,于是他们决定玩以下游戏,来看是否能够去秘境探险: 这儿有n个数,如果所有数的乘积是k的倍数,那么就去探险,否则就不去. 现在问你是否会去. 输入 本题包含若干组测试数据.第一行两个整数n,k,表示数的个数,和k.第二行n个整数,a[i].满足1<=n<=1000,1<=k,a[i]<=1e6 输出 如果要去的话,输出Yes

qscoj 128 喵哈哈村的魔法源泉(2)(模仿快速幂,好题)

喵哈哈村的魔法源泉(2) 发布时间: 2017年5月9日 20:59   最后更新: 2017年5月9日 21:00   时间限制: 1000ms   内存限制: 128M 描述 喵哈哈村有一个魔法源泉,里面有无穷无尽的力量. 但是前提是你能答出这样一个问题: 给你a,b,p,让你输出a*b%p的值. 输入 本题包含若干组测试数据.第一行三个整数a,b,p. 满足:0<=a,b,p<=1e18 输出 输出答案 样例输入1 复制 10 1 7 样例输出1 3题目链接:http://qscoj.c

喵哈哈村的魔法考试 Round #7 (Div.2) B

  B 喵哈哈村的麦克雷  喵哈哈村的麦克雷 发布时间: 2017年3月13日 11:51   最后更新: 2017年3月14日 18:16   时间限制: 1000ms   内存限制: 128M 描述 为了拯救喵哈哈村,这个世界必须要存在英雄. 一名叫做麦克雷的英雄站了出来!他现在面临一个难题: 给定一个N x M的01矩阵,其中1表示陆地,0表示水域.对于每一个位置,求出它距离最近的水域的距离是多少. 矩阵中每个位置与它上下左右相邻的格子距离为1. 输入 本题包含若干组测试数据:第一行包含两

喵哈哈村的魔法考试 Round #3 (Div.2) ABCDE

官方题解:http://www.cnblogs.com/qscqesze/p/6480284.html 哗啦啦村的刁难(1) 描述 哗啦啦村作为喵哈哈村的对头,于是他们准备给喵哈哈村一个好看. 哗啦啦村的头号长老--鱼先生,就提出了以下问题: 给你三个木棍,问你这三个木棍,是否能够组成一个非退化的三角形! 输入 第一行一个整数T,表示测试组数的个数.接下来T行,每行三个整数,a,b,c.表示哗啦啦村提供的三根木棍. 满足1<=T<=1001<=a,b,c<=5000 输出 如果可以

2017-5-17-Train:喵哈哈村的魔法考试 Round #18 (Div.2)

A.喵哈哈村的古怪石碑(签到题) 描述 喵哈哈村有个奇怪的石碑,上面浮现出了一个奇怪的问题: 有一数列{an},给出其前三项a1,a2,a3,以及要求的项的编号n,并且数列{an}只可能是等差数列或者是首项为1的等比数列,要求A输出第n项模100007后的值. 输入 一行,四个整数,a1,a2,a3,n.满足:0< |a1|,|a2|,|a3|≤10^5,0<n<10^3.本题包含若干组测试数据. 输出 一行,一个数,即an模100007的值.(负数取模答案为负) 样例输入1 1 2 3

3295: 括号序列 -(序列DP)

描述 给定一串字符串,只由 “[”.“]” .“(”.“)”四个字符构成.现在让你尽量少的添加括号,得到一个规则的序列. 例如:“()”.“[]”.“(())”.“([])”.“()[]”.“()[()]”,都是规则的序列.这几个不是规则的,如:“(”.“[”.“]”.“)(”.“([()”. 输入 输入有多组测试数据.输入一串字符串序列,长度不大于255. 输出 输出最少添加的括号数目. 样例输入 () ( ([() [[(([] 样例输出 0 1 2 4 题目来源 椒江校区第一届C语言编程大

10喵哈哈村的魔法石

题目传送: 描述 传说喵哈哈村有三种神奇的魔法石:第一种魔法石叫做人铁石,拥有A的能量:第二种魔法石叫做地冈石,拥有B的能量:而第三种,则是最神奇的天玄石,拥有无可比拟的C的能量! 但是有一天,沈宝宝太调皮了,把一颗天玄石玩丢了-- "这可玩大发了,这样我会被天行廖责备的."沈宝宝悲伤的说到,"怎么办呢?" 这时候沈宝宝望了望窗外的飞过的白鸽,突然急中生智,想到了一个办法:干脆就用人铁石和地冈石把天玄石凑出来吧! "只要我拿若干个人铁石,若干个地冈石,他们