68求助
查看原帖
68求助
1047919
aeknights楼主2024/1/5 12:50

测试点8,9,10,11WA

#include<bits/stdc++.h>
using namespace std;
string s,s1;
char str[110];
int site[110];
int main(){
	cin>>s;
	int leng = s.size(),top = 0;
	bool IsRight = false;
	for(int i = 0;i<leng;i++){
		char a = s[i];
		if(a == '['){
			top++;
			str[top] = a;
			site[i] = 1;
		}
		if(a == '('){
			top++;
			str[top] = a;
			site[i] = 1;
		}
		if(a == ']'){
			if(str[top] == '['){
				top--;
				site[i-1] = 0;
			}else{
				IsRight = false;
			}
		}
		if(a == ')'){
			if(str[top] == '('){
				top--;
				site[i-1] = 0;
			}else{
				IsRight = false;
			}
		}
	}
	if(top == 0) IsRight = true;
	if(s[0] == ')') IsRight = false;
	if(s[0] == ']') IsRight = false;
	if(IsRight) cout<<s;
	else{
		for(int i = 0;i<leng;i++){
			if(s[i] == '['){
				cout<<s[i];
				cout<<"]";
			}
			if(s[i] == '('){
				cout<<s[i];
				cout<<")";
			}
			if(s[i] == ']'){
				cout<<"[";
				cout<<s[i];
			}
			if(s[i] == ')'){
				cout<<"(";
				cout<<s[i];
			}
		}
	}
	return 0;
}
2024/1/5 12:50
加载中...