48求条
  • 板块P1241 括号序列
  • 楼主gaoju
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/20 10:42
  • 上次更新2024/10/20 12:18:21
查看原帖
48求条
608648
gaoju楼主2024/10/20 10:42
#include<bits/stdc++.h>
using namespace std;
stack<char> st;
string ss;
int main()
{
//  freopen(".in","r",stdin);
//  freopen(".out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	string s;
	cin >> s;
	int l = s.size();
	for(int i = 0; i < l; i++)
	{
		if(s[i] == '(' || s[i] == '[')
		{
			st.push(s[i]);
		}
		else
		{
			if(s[i] == ')')
			{
				if(st.size() == 0)
				{
					ss += "()";
				}
				else if(st.top() == '(')
				{
					st.pop();
					ss += "()";
				}
				else
				{
					ss += "()";
				}
			}
			else
			{
				if(st.size() == 0)
				{
					ss += "[]";
				}
				else if(st.top() == '[')
				{
					st.pop();
					ss += "[]";
				}
				else
				{
					ss += "[]";
				}
			}
		}
	}
	if(st.size() > 0)
	{
		while(st.size() > 0)
		{
			char sk = st.top();
			st.pop();
			if(sk == '(')
			{
				ss += "()";
			}
			else
			{
				ss += "[]";
			}
		}
	}
	cout << ss;
    return 0;
}
2024/10/20 10:42
加载中...