zoukankan      html  css  js  c++  java
  • POJ1068Parencodings

    直接看代码

     1 /****************************************************
     2 思路就是吧没办法配对的左括号放在栈里,
     3 如果有一个新的右括号,那他一定只能和栈顶的左括号配对
     4 *****************************************************/
     5 #include <cstdio>
     6 #include <stack>
     7 using namespace std;
     8 int ans[25], Case, N;
     9 int main()
    10 {
    11     while(~scanf("%d", &Case))while(Case -- )
    12     {
    13         stack<int>Stack;//定义一个栈,放的是还没有配对的左括号
    14         int  num = 0, a, pre = 0;//pre保存之前输入的数
    15         scanf("%d", &N);
    16         for(int i = 0; i < N; i ++ )
    17         {
    18             scanf("%d", &a);
    19             if(a != pre)//如果输入的不等于之前的数,表示有新的左括号
    20             {
    21                 for(int j = pre; j < a; j ++ )//把新的左括号全部放进栈
    22                 {
    23                     Stack.push(1);//由于栈里的数表示这个左括号和与之对应的右括号之间的右括号数目
    24                 }                 //所以最开始默认为只有与其对应的那一个
    25                 ans[num] = Stack.top();//由于输入的数代表的是右括号,所以将与他相邻的左括号拿走
    26                 Stack.pop();
    27                 if(!Stack.empty())Stack.top() += ans[num];//由于拿走了一个栈里的左括号,   
    28                 num++;                                    //也就是说新的栈顶左括号内部又多了之前括号里所拥有的右括号
    29                 pre = a;
    30             }
    31             else//输入的数等于之前的数,便是要和栈里的左括号配对
    32             {
    33                 ans[num] = Stack.top();
    34                 Stack.pop();
    35                 if(!Stack.empty())Stack.top() += ans[num];
    36                 num++;
    37             }
    38         }
    39         for(int i = 0;i < num; i ++ )
    40         {
    41             printf("%d%c", ans[i], (i == num-1) ? '
    ':' ');
    42         }
    43     }
    44     return 0;
    45 }
  • 相关阅读:
    四.Oracle聚合函数和内外全连接
    三.Oracle常用数据类型及单行函数总结
    二.Sql语言的分类及运算符
    一.Oracle的安装与连接
    Maven环境的配置
    javaSE基础总结篇04
    javaSE基础总结篇03
    javaSE基础总结篇02
    JavaSE基础篇总结01
    表分区
  • 原文地址:https://www.cnblogs.com/gj-Acit/p/3222128.html
Copyright © 2011-2022 走看看