• Nyoj 2 括号配对问题


    括号配对问题

    时间限制:3000 ms  |  内存限制:65535 KB

    难度:3

    描述

    现在,有一行括号序列,请你检查这行括号是否配对。

    输入

    第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符

    输出

    每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No

    样例输入

    3

    [(])

    (])

    ([[]()])

    样例输出

    No

    No

    Yes

    #include<stdio.h>
    #include<string.h>
    #include<stack>  
    using namespace std;    
        int main()  
        {  
            int s,i,N; 
    		char a[10005]; 
           scanf("%d",&N);
            while(N--)  
            {  
                stack<char> k; 	
    		   scanf("%s",a);
    	     	s=strlen(a); 
            	for(i=0;i<s;i++)
                {  
                    if(a[i]=='('||a[i]=='[')  
                        k.push(a[i]);  
                    else if(a[i]==')')  
                    {  
                        if(!k.empty()&&k.top()=='(')  
                            k.pop();  
                        else  
                            k.push(a[i]);  
                    }  
                    else if(a[i]==']')  
                    {  
                        if(!k.empty()&&k.top()=='[')  
                            k.pop();  
                        else  
                            k.push(a[i]);  
                    }  
                }  
                if(k.empty())  
                    	printf("Yes
    ");
                else  
                   	printf("No
    ");       
            }  
            return 0;  
    }          
    

      

  • 相关阅读:
    JSP源码、改写Servlet为JSP、查看转译成为Servlet的文件、JSP字符编码设置
    使用Tomcat部署应用
    缓冲与缓存
    过滤器及请求封装器实现字符编码
    过滤器与请求封装器实现字符替换
    过滤器
    与请求相关的监听器
    区块链简介
    https协议简介
    http协议简介
  • 原文地址:https://www.cnblogs.com/zhangliu/p/7052681.html
Copyright © 2020-2023  润新知