wangyvning @ 2024-08-01 17:34:25
#include<bits/stdc++.h>
using namespace std;
const int maxn=51000;
struct node{
int id;
char v;
};
char s[maxn];
stack<node>sta;
char a[maxn];
int main(){
scanf("%s",s+1);
int n=strlen(s+1);
for(int i=1;i<=n;i++){
if(s[i]=='('){
sta.push(node{i,s[i]});
a[i]=')';
}else if(s[i]=='['){
sta.push(node{i,s[i]});
a[i]=']';
}else if(s[i]==')'){
if(!sta.empty()&&sta.top().v=='('){
a[i]='@';
a[sta.top().id]='@';
sta.pop();
}else{
a[i]='[';
}
}
}
for(int i=1;i<=n;i++){
if(a[i]=='('||a[i]=='['){
printf("%c%c",s[i],a[i]);
}else if(a[i]==')'||a[i]==']'){
printf("%c%c",s[i],a[i]);
}else{
printf("%c",s[i]);
}
}
return 0;
}
这就是24分代码,哪位大佬能够帮忙一下?
by wangyvning @ 2024-08-05 11:06:54
有人能帮忙一下吗?