文章

5

粉丝

409

获赞

7

访问

49.8k

头像
使用变量模拟栈
P1067 中山大学2019年机试题
发布于2020年5月2日 12:16
阅读数 8.3k

#include<iostream>
#include<string>

using namespace std;

int main()
{
	int n;
	cin>>n;
	while(n--)
	{
	string s;
	cin>>s;	
	int mini=0,small=0,mid=0,big=0;//括号净数量,表示未闭合的括号数量,遇到左括号++,右括号--

    for(auto c:s)
    {
        switch(c) //每次都要判断所有低级别的括号是否已闭合。遇到右括号,要判断对应的左括号是否够用。
        {
        	case '<':mini++;
        		break;
        		
        	case '>':mini--;if(mini<0 ) goto end; 
        		break;
        		
            case '(':small++;if(mini) goto end; 
                break;
                
            case ')':small--;if(small<0 || mini) goto end; 
                break;
                
            case '[':mid++;if(mini || small) goto end; 
                break;
                
            case ']':mid--;if(mid<0 || mini || small) goto end; 
                break;
                
            case '{':big++;if(mini || small || mid )goto end; 
                break;
                
       ...
登录查看完整内容


登录后发布评论

1 条评论
tyu007
2020年5月3日 14:30

打卡

 

赞(0)