Description

给出一堆括号,看其是否匹配,例如 ()、()()、(()) 这样的括号就匹配,
      )(、)()) 而这样的括号就不匹配

Input

每一行代表一组测试样例,每组测试样例只包含'('和')',样例长度不超过100个字符

Output

如果所有的括号都匹配,那么输出YES,否则输出NO

Sample Input

() )(

Sample Output

YES NO

HINT

使用STL的stack容易实现。

#include <iostream>
#include <algorithm>
#include <stack>
#include <string>
using namespace std;
int main()
{
    string s;
    stack<int> sta;
    while(cin>>s)
    {
        while(!sta.empty())
            sta.pop();
        int len=s.size();
        for(int i=0;i<len;i++)
        {
            if(s[i]=='(')
                sta.push(1);
            else
            {
                if((!sta.empty()) && (sta.top()==1))
                    sta.pop();
                else
                    sta.push(0);
            }
        }
        if(!sta.empty())
            cout<<"NO"<<endl;
        else
            cout<<"YES"<<endl;
    }
}

Problem H: STL——括号匹配的更多相关文章

  1. 2015 湘潭大学程序设计比赛(Internet)H题-括号匹配

    括号匹配 Accepted : 30   Submit : 234 Time Limit : 10000 MS   Memory Limit : 65536 KB 题目描述 有一串括号(只包含&quo ...

  2. Bracket Sequences Concatenation Problem CodeForces - 990C(括号匹配水题)

    明确一下  一个字符串有x左括号不匹配  和 另一个字符串有x个右括号不匹配  这俩是一定能够匹配的 脑子有点迷 emm... 所以统计就好了  统计x个左括号的有几个,x个右括号的有几个 然后 乘一 ...

  3. CF 990C. Bracket Sequences Concatenation Problem【栈/括号匹配】

    [链接]:CF [题意]: 给出n个字符串,保证只包含'('和')',求从中取2个字符串链接后形成正确的括号序列的方案数(每个串都可以重复使用)(像'()()'和'(())'这样的都是合法的,像')( ...

  4. 7-10 括号匹配(25 分) 【STL】

    7-10 括号匹配(25 分) 给定一串字符,不超过100个字符,可能包括括号.数字.字母.标点符号.空格,编程检查这一串字符中的( ) ,[ ],{ }是否匹配. 输入格式: 输入在一行中给出一行字 ...

  5. STL版 括号匹配(感觉不如之前自己用数组模拟的跑的快)

    数据结构实验之栈四:括号匹配 Time Limit: 1000MS Memory limit: 65536K 题目描述  给你一串字符,不超过50个字符,可能包括括号.数字.字母.标点符号.空格,你的 ...

  6. [原]NYOJ 括号匹配系列2,5

    本文出自:http://blog.csdn.net/svitter 括号匹配一:http://acm.nyist.net/JudgeOnline/problem.php?pid=2 括号匹配二:htt ...

  7. Codeforces 5C Longest Regular Bracket Sequence(DP+括号匹配)

    题目链接:http://codeforces.com/problemset/problem/5/C 题目大意:给出一串字符串只有'('和')',求出符合括号匹配规则的最大字串长度及该长度的字串出现的次 ...

  8. C. Serval and Parenthesis Sequence 【括号匹配】 Codeforces Round #551 (Div. 2)

    冲鸭,去刷题:http://codeforces.com/contest/1153/problem/C C. Serval and Parenthesis Sequence time limit pe ...

  9. DP_括号匹配序列问题

    括号匹配问题 简单括号匹配问题是给出字符串,判断字符串中的括号是否匹配,此类问题核心解决方案就是利用栈的后进先出的特性,从左到右依次遍历字符串,遇左括号进栈,遇右括号将其与栈顶元素配对,若能配对,则栈 ...

随机推荐

  1. Redisson分布式锁的简单使用

    一:前言 我在实际环境中遇到了这样一种问题,分布式生成id的问题!因为业务逻辑的问题,我有个生成id的方法,是根据业务标识+id当做唯一的值! 而uuid是递增生成的,从1开始一直递增,那么在同一台机 ...

  2. VCL组件之TLabel、TStaticText和TLabeledEdit

    TLabel.TStaticText.TLabeledEdit类的继承关系如下:

  3. 支持向量机(五)SMO算法

    11 SMO优化算法(Sequential minimal optimization) SMO算法由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规 ...

  4. Keyboard Row

    Given a List of words, return the words that can be typed using letters of alphabet on only one row' ...

  5. 移动APP测试方法总结

    移动APP测试,除了基础功能测试测试方法外,需要额外关注以下方面: 兼容性测试 流量测试 电量测试 弱网络测试 稳定性测试 安全测试 环境相关测试 兼容性测试 针对App通常会考虑这些方面: 1.操作 ...

  6. LeetCode 650 - 2 Keys Keyboard

    LeetCode 第650题 Initially on a notepad only one character 'A' is present. You can perform two operati ...

  7. Java历程-初学篇 Day07 循环结构2 for循环

    一,格式 for(赋值语句//为循环变量赋初值;条件语句//循环结构的循环条件;赋值语句//迭代,修改循环变量的值){ //循环体; } 二,简单举例 for(int i=1;i<=10;i++ ...

  8. Crossin 8-3;8-4

    8-3文件打开模式:r:只读模式.默认w:只写模式.会先清空文件a:追加写入模式,在文件末尾写入,不可读r+:打开一个文件用于读写.文件指针将会放在文件的开头,原文件内容不会清空b:二进制模式,与前面 ...

  9. 一个强迫症的Git 选择

    选择 1,经常性的commit or 干净的历史 在本地(私有)的开发分支中,选择经常性的commit,以便于实时记录修改,回退等操作.eg.develop,feature... 实现方式: comm ...

  10. Sql Server 数据库中调用dll文件

    1.首先新建一个空的解决方案,并添加一个类库,代码如下,编译并生产dll using System; using System.Collections.Generic; using System.Da ...