52 剩下几个数据re了咋回事求助
查看原帖
52 剩下几个数据re了咋回事求助
1261263
jiaotang楼主2024/7/23 09:37
#include <bits/stdc++.h>
using namespace std;

string a;
stack<int> st;
bool vis[505];

int main()
{
	cin>>a;
	for(int i=0;i<a.size();i++)
	{
		if(a[i]=='('||a[i]=='[') st.push(i);
		else if(a[i]==')'&&a[st.top()]=='(')
		{
			vis[st.top()]=1;
			vis[i]=1;
			st.pop();
		}
		else if(a[i]==']'&&a[st.top()]=='[')
		{
			vis[st.top()]=1;
			vis[i]=1;
			st.pop();
		}
	}
	for(int i=0;i<a.size();i++)
	{
		if(vis[i]==1) cout<<a[i];
		else
		{
			if(a[i]=='('||a[i]==')') cout<<"()";
			else cout<<"[]";
		}
	}
	return 0;
}
2024/7/23 09:37
加载中...