zoukankan      html  css  js  c++  java
  • CCF OJ 1113-括号匹配[栈]

    题目描述
    给定一个只包含左右括号的合法括号序列,按右括号从左到右的顺序输出每一对配对的括号出现的位置(括号序列以0开始编号)。

    输入
    仅一行,表示一个合法的括号序列。

    输出
    设括号序列有n个右括号。则输出包括n行,每行两个整数l,r,表示配对的括号左括号出现在第l位,右括号出现在第r位。

    样例输入
    (())()

    样例输出
    1 2
    0 3
    4 5

    数据范围限制
    括号序列长度不超过100。
    .
    .
    .
    .
    .

    分析

    见左括号就压栈,见右括号就弹栈。
    .
    .
    .
    .
    .

    程序:
    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        int top=0,a[1000],l;
        string s;
        cin>>s;
        l=s.length();
        for (int i=0;i<l;i++)
        {
            if (s[i]=='(') a[++top]=i; 
            else
            {
                cout<<a[top]<<' '<<i<<endl;
                top--;
            }
        }
        return 0;
    }
  • 相关阅读:
    codeforces 1215 E Marbles-----状压DP
    留坑待填
    Catalan数
    砝码称重
    约数和
    硬币题解
    迎春舞会之数字舞蹈
    过剩数
    猜测棋局
    [NOIP普及组2014第三题]螺旋矩阵
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9499900.html
Copyright © 2011-2022 走看看