56分求助
查看原帖
56分求助
610410
fenboQAQ楼主2023/7/7 11:41
#include <bits/stdc++.h>
using namespace std;
char a[10005],b[10005],len1 = 0,len2 = 0;
bool dis[100005];
int main(){
	string s;
	cin >> s;
	for(int i = 0;i < s.size();i ++){
		if(s[i] == '[' || s[i] == '('){
			dis[i] = false;
		}
		else{
			for(int j = i - 1;j >= 0;j --){
				if(s[i] == ')') if(s[j] == '(') dis[i] = true,dis[j] = true;
				if(s[i] == ']') if(s[j] == '[') dis[i] = true,dis[j] = true;
				if(s[i] == ')'){
					if(s[j] == '[' || s[j] == ']') break;
				}
				if(s[i] == ']'){
					if(s[j] == '(' || s[j] == ')') break;
				}
			}
		}
	}
	for(int i = 0;i < s.size();i ++){
		if(dis[i] == false){
			if(s[i] == '(') cout << s[i] << ')';
			if(s[i] == ')') cout << '(' << s[i];
			if(s[i] == '[') cout << s[i] << ']';
			if(s[i] == ']') cout << '[' << s[i];
		}
		else{
			cout << s[i];
		}
	}
	return 0;
}
2023/7/7 11:41
加载中...