• rwkj 1378 stack(括号匹配)


    C++:泛型编程stack(括号匹配)
    时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
    总提交:72 测试通过:39

    描述


    假设表达式中包含一种括号:圆括号,其嵌套顺序随意,即(()())或(())等为正确的格式,)(或((())或())均为不正确的格式。检验括号是否匹配可以用堆栈来实现当遇到 ( 时进栈,遇到 ) 时出栈进行匹配检验,如果出现不匹配的情况立即结束,否则继续取下一个字符。如果没有遇到不匹配的情况,最后判断栈是否为空,栈为空,括号匹配,否则不匹配。


    输入


    包括多组数据。每组1行,为包含括号的表达式。


    输出


    如果是正确的格式,输出“Yes”,否则输出“No”


    样例输入

    (()())
    (())
    (()
    ())
    (
    )

    样例输出

    Yes
    Yes
    No
    No
    No
    No

    题目来源


    #include<algorithm>
    #include<bitset>
    #include<cmath>
    #include<ctime>
    #include<cstdio>
    #include<cassert>
    #include<cstring>
    #include<cstdlib>
    #include<functional>
    #include<iostream>
    #include<list>
    #include<map>
    #include<numeric>
    #include<set>
    #include<stack>
    #include<string>
    #include<sstream>
    #include<queue>
    #include<vector>
    using namespace std;
    int main()
    {
    string s;
    while(cin>>s)
    {
    while(s.find("()")!=string::npos)
    s.erase(s.find("()"),2);
    if(s.size())
    cout<<"No"<<endl;
    else cout<<"Yes"<<endl;
    }
    return 0;
    }

    ****************************


    //1378

    #include<iostream>
    using namespace std;
    #include<cstring>
    #include<stack>
    int main()
    {
    char a[100];
    int i,k;
    stack<char>s;
    while(cin>>a)
    {
    k=1;
    for(i=0;i<strlen(a);i++)
    {
    if(k==0) break;
    if(a[i]=='(') s.push(a[i]);
    else
    { if(s.empty()) k=0;
    else if(s.top()!='(') k=0;
    else s.pop();
    }
    }
    if(k==1&&s.empty()) cout<<"Yes"<<endl;
    else cout<<"No"<<endl;
    while(!s.empty()) s.pop();
    }
    return 0;
    }

  • 相关阅读:
    原创《小白的Java自学课》第一课:Java是什么?Java到底能干嘛?
    谷歌chrome浏览器
    QT学习之QPair类
    char 与 signed char 和 unsigned char三者之间的关系
    QT学习之QT判断界面当前点击的按钮和当前鼠标坐标
    QT学习之QScript
    QT Creater 配色方案及下载
    QT学习之QString的arg方法
    QT创建与调用Dll方法(包括类成员)--显式调用
    C++学习之显式类型转换与运行时类型识别RTTI
  • 原文地址:https://www.cnblogs.com/2014acm/p/3901497.html
Copyright © 2020-2023  润新知