首页 > 其他分享 >Problem I: STL——括号匹配

Problem I: STL——括号匹配

时间:2023-05-25 17:37:20浏览次数:47  
标签:匹配 STL 样例 括号 str Problem include


Home

Web Board

ProblemSet

Standing

Status

Statistics


Problem I: STL——括号匹配


Time Limit: 1 Sec   Memory Limit: 128 MB

Submit: 3032  

Solved: 1855

[Submit][Status][Web Board]


Description



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



      )(、)()) 而这样的括号就不匹配



Input



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



Output



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



Sample Input



())(



Sample Output



YESNO



HINT



使用STL的stack容易实现。





Append Code


[ Submit][Status][Web Board]


한국어<  中文 فارسی English ไทย All Copyright Reserved 2010-2011 SDUSTOJ TEAM
GPL2.0 2003-2011 HUSTOJ Project TEAM
Anything about the Problems, Please Contact Admin:admin


#include <iostream>
#include <cstring>
#include <stack>
using namespace std;
int main()
{
    stack <char> sta;
    char str[220];
    while( cin >> str )
    {
         int len = strlen(str);
        char *ch = str;
        if( str[0] == ')' || str[len - 1] == '(' || (len % 2) == 1)
        {
           cout << "NO" << endl;
           continue;
        }
        else
        {
           while(*ch != '\0')
           {
               if(sta.empty())
               {
                   char c = *ch;
                   sta.push(c);
               }
               else
               {
                   if(sta.top() == '(' && *ch == ')')
                       sta.pop();
                   else
                   {
                       char c = *ch;
                       sta.push(c);
                   }
               }
               ch++;
           }
        }
        if(sta.empty())
                cout << "YES" << endl;
            else
                cout << "NO" << endl;
    }
}



标签:匹配,STL,样例,括号,str,Problem,include
From: https://blog.51cto.com/u_16129621/6350308

相关文章

  • Problem C: 数量的类模板
    HomeWebBoardProblemSetStandingStatusStatisticsProblemC:数量的类模板TimeLimit:1Sec  MemoryLimit:128MBSubmit:1173  Solved:812[Submit][Status][WebBoard]Description定义一个类模板Data,用于包装C++中的基本数据类型int和double。它......
  • Problem E: 新奇的加法运算
    HomeWebBoardProblemSetStandingStatusStatisticsProblemE:新奇的加法运算TimeLimit:1Sec  MemoryLimit:128MBSubmit:1117  Solved:685[Submit][Status][WebBoard]Description定义类newInt,包括:1.int类型的数据成员。2.重载运算符“+”。......
  • Problem A: 类的初体验
    HomeWebBoardProblemSetStandingStatusStatisticsProblemA:类的初体验TimeLimit:1Sec  MemoryLimit:128MBSubmit:723  Solved:661[Submit][Status][WebBoard]Description定义一个类Data,只有一个double类型的属性和如下3个方法:1.  voi......
  • Problem D: 平面上的点——Point类 (IV)
    ProblemD:平面上的点——Point类(IV)TimeLimit:1Sec  MemoryLimit:4MBSubmit:5400  Solved:3167[Submit][Status][WebBoard]Description在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定。现在我们封装一个“Point类”来实现平面上......
  • Problem E: 判断两个圆之间的关系
    HomeWebBoardProblemSetStandingStatusStatisticsProblemE:判断两个圆之间的关系TimeLimit:1Sec  MemoryLimit:128MBSubmit:1107  Solved:925[Submit][Status][WebBoard]Description定义Point类,包括double类型的两个属性,分别表示二维空间......
  • Problem B: 时间类的成员读写
    HomeWebBoardProblemSetStandingStatusStatisticsProblemB:时间类的成员读写TimeLimit:4Sec  MemoryLimit:128MBSubmit:3080  Solved:2668[Submit][Status][WebBoard]Description封装一个时间类Time,用于时间处理的相关功能,支持以下操......
  • Problem F: 平面上的点和线——Point类、Line类 (VI)
    HomeWebBoardProblemSetStandingStatusStatisticsProblemF:平面上的点和线——Point类、Line类(VI)TimeLimit:1Sec  MemoryLimit:128MBSubmit:4350  Solved:2006[Submit][Status][WebBoard]Description在数学上,平面直角坐标系上的点......
  • Problem E: 编写函数:Swap (I) (Append Code)
    ProblemE:编写函数:Swap(I)(AppendCode)TimeLimit:1Sec  MemoryLimit:16MBSubmit:7937  Solved:5693[Submit][Status][WebBoard]Description编写用来交换两个数的函数,使得“AppendCode”中的main()函数能正确运行。---------------------------......
  • The 3n + 1 problem
    ProblemsinComputerScienceareoftenclassifiedasbelongingtoacertainclassofproblems(e.g.,NP,Unsolvable,Recursive).Inthisproblemyouwillbeanalyzingapropertyofanalgorithmwhoseclassificationisnotknownforallpossibleinputs. Co......
  • 每日一题 力扣 1377 https://leetcode.cn/problems/frog-position-after-t-seconds/
    力扣1377https://leetcode.cn/problems/frog-position-after-t-seconds/这道题目用dp去做,构建邻接矩阵,做的时候需要注意题目条件,如果青蛙跳不动了,这个概率就保持不变了一般跳青蛙,很容易想到dp核心代码如下publicdoublefrogPosition(ipublicdoublefrogPosition(intn,......