kjh21373456 @ 2022-05-03 12:37:12
#include<stdio.h>
#include<string.h>
#include<stdbool.h>
int top;
int stack[105];
bool color[105];
int main()
{
char s[1005];//这个写成105就AC了
scanf("%s",s);
int l=strlen(s);
for(int i=0;i<l;i++)
{
if(s[i]==']')
{
if(top==0) continue;
if(s[stack[top]]=='[')
{
color[stack[top]]=1;
color[i]=1;
top--;
}
}
else if(s[i]==')')
{
if(top==0) continue;
if(s[stack[top]]=='(')
{
color[stack[top]]=1;
color[i]=1;
top--;
}
}
else
stack[++top]=i;
}
for(int i=0;i<l;i++)
{
if(color[i]==1) printf("%c",s[i]);
else
{
if(s[i]=='(' || s[i]==')') printf("()");
else printf("[]");
}
}
}