zoukankan      html  css  js  c++  java
  • 括号配对问题(一)

    Description
    现在有一种只包括左右小括号(“(”和“)”)和空格(” “)的字符串序列,请你判断括号是否匹配,如果匹配就输出Yes,不匹配输出No。

    Input
    输入数据第一行输入一个T(0≤T≤100),表示测试数据的组数。

    接下来有T行测试数据,每行有一个符合题意的字符串,字符串长度不超过500。

    Output
    每组测试数据,先输出一个”Case %d:“,%d表示第几组测试数据。接着,如果字符串括号匹配,输出Yes,否则,输出No。具体输出格式参考下面输出样例。

    Sample Input
    2
    ( ())
    )(
    Sample Output
    Case 1:Yes
    Case 2:No

     1 #include<iostream>
     2 #include<stack>
     3 #include<stdio.h>
     4 #include<string.h>
     5 using namespace std;
     6 int main()
     7 {
     8     int t,len,i,j,flag;
     9     char x[601];
    10     scanf("%d",&t);
    11     getchar();
    12     j=1;
    13     while(t--)
    14     {
    15         gets(x);
    16         len=strlen(x);
    17         stack<char>s;
    18         for(i=0; i<len; i++)
    19         {
    20                 if(x[i]=='(')
    21                     s.push(x[i]);///压入栈
    22                 if(x[i]==')')
    23                 {
    24                     if(s.empty())
    25                     {
    26                         break;
    27                     }
    28                      else
    29                         s.pop();///出栈
    30                 }
    31         }
    32         if(s.empty()&&i>=len)
    33             printf("Case %d:Yes
    ",j);
    34         else
    35             printf("Case %d:No
    ",j);
    36         j++;
    37   
    38     }
    39     return 0;
    40 }

      

  • 相关阅读:
    C#’s ~ vs Java’s finalize
    做Java开发这一年
    assertThat, assertEquals, assertTrue
    给Cuke4Duke添加一个AfterAll标签(一):使用Cuke4Duke
    心理问题的根源
    何谓数学
    人生谁看透
    人本主义与自由意志
    哲学的基本问题
    贫穷与教育
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/8667039.html
Copyright © 2011-2022 走看看