40分re求助
查看原帖
40分re求助
376228
彗星七号楼主2023/11/3 13:46
#include<bits/stdc++.h>
using namespace std;
stack<int>stk;
void solve(){
	string s,pei;
	cin>>s;
	int len=s.size();
	for(int i=0;i<len;i++){
//		cout<<s[i]<<endl;
		if(s[i]=='('){
			stk.push(i);
			pei[i]=')';
		}
		if(s[i]=='['){
			stk.push(i);
			pei[i]=']';
		}
		if(s[i]==')'||s[i]==']'){
			if(stk.empty()||pei[stk.top()]!=s[i]){
				if(s[i]==')')
					pei[i]='(';
				else
					pei[i]='[';
			}
			else pei[stk.top()]='1',stk.pop();
		}
	}
	for(int i=0;i<len;i++){
		if(pei[i]=='('||pei[i]=='[')
		cout<<pei[i];
		cout<<s[i];
		if(pei[i]==')'||pei[i]==']')
		cout<<pei[i];
	}
}
int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	solve();
	return 0;
}
2023/11/3 13:46
加载中...