63分求dalao指教
查看原帖
63分求dalao指教
222391
C琉璃楼主2021/6/2 18:29
#include<iostream>
#include<cstdio>
using namespace std;
int l=0,m=0;
bool bb[1000000];
int main() 
{
	int i=1;
	char a[100000];
	char b[100000];
	while(cin>>a[i])
	{
		if(a[i]=='(')
		b[i]=')';
		if(a[i]=='[')
		b[i]=']';
		if(a[i]==')')
		{
			b[i]='(';
			for(int j=i-1;j>=1;j--)
		    {
			    if(b[j]==')'&&bb[j]==0)
			    {
				    bb[i]=1;
				    bb[j]=1;
				    break;
			    }
		    }
		}
		if(a[i]==']')
		{	
	        b[i]='[';
			for(int j=i-1;j>=1;j--)
		    {
			    if(b[j]==']'&&bb[j]==0)
			    {
				    bb[i]=1;
				    bb[j]=1;
				    break;
			    }
		    }
		}
		//cout<<a[i]<<" "<<b[i];
		i++;
	}
	for(int j=1;j<i;j++)
	{
		//cout<<bb[j];
		if(bb[j]==0&&(a[j]=='('||a[j]=='['))
		cout<<a[j]<<b[j];
		if(bb[j]==0&&(a[j]==')'||a[j]==']'))
		cout<<b[j]<<a[j];
		if(bb[j]==1)
		cout<<a[j];
	}
}
2021/6/2 18:29
加载中...