4AC4RE4WA
查看原帖
4AC4RE4WA
1430495
litianrui0201楼主2025/1/22 18:28
#include<bits/stdc++.h>
using namespace std;
int main( ){
	stack<char> kuohaoa;
	stack<char> kuohaob;
	string a;cin>>a;
	for(int i=0;i<a.length( );i++)kuohaoa.push(a[i]);
	//把括号装进A栈 倒序 
	while(!kuohaoa.empty( )){
		kuohaob.push(kuohaoa.top( ));
		kuohaoa.pop( );
	}
	//重置为顺序的b栈 
	while(!kuohaob.empty( )){
		if(kuohaob.top( )=='('){
			kuohaoa.push('(');
			kuohaoa.push(')');
			kuohaob.pop( );
			if(kuohaob.top( )==')')kuohaob.pop( );
		}else if(kuohaob.top( )==')'){
			kuohaoa.push('(');
			kuohaoa.push(')');
			kuohaob.pop( );
		}else if(kuohaob.top( )=='['){
			kuohaoa.push('[');
			kuohaoa.push(']');
			kuohaob.pop( );
			if(kuohaob.top( )==']')kuohaob.pop( );
		}else if(kuohaob.top( )==']'){
			kuohaoa.push('[');
			kuohaoa.push(']');
			kuohaob.pop( );
		}
	}
	//回收栈(把无序的b栈转换成有序的A栈) 
	while(!kuohaoa.empty( )){
		kuohaob.push(kuohaoa.top( ));
		kuohaoa.pop( );
	}
	//回收栈重置为顺序的b栈 
	while(!kuohaob.empty( )){
		cout<<kuohaob.top( );
		kuohaob.pop( ); 
	}
	//输出栈 
	return 0;
}
2025/1/22 18:28
加载中...