记录编号 453962 评测结果 AAAAAAAAAA
题目名称 天天和不可描述 最终得分 100
用户昵称 GravatarBennettz 是否通过 通过
代码语言 C++ 运行时间 0.067 s
提交时间 2017-09-28 07:21:30 内存使用 6.49 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
using namespace std;
char s[500005];
int l1[500005],r1[500005],l2[500005],sl;
void print(int l,int r){
	if(l==r){
		if(s[l]!='(')
		printf("%c",s[l]);return;
	}
	if(l<=r){
		while(l<=r){
			if(s[l]!='(')printf("%c",s[l]);
			else{
				if(l1[l]-1>=l+1)print(l1[l]-1,l+1);l=l1[l];
			}
			l++;
		}
	}
	else{
		while(l>=r){
			if(s[l]!=')'){
				printf("%c",s[l]);
			}
			else{
				if(r1[l]+1<=l-1)print(r1[l]+1,l-1);
				l=r1[l];
			}
			l--;
		}
	}
}
int main1(){
	freopen("unknown.in","r",stdin);
	freopen("unknown.out","w",stdout);
	scanf("%s",s);int l=strlen(s);
	for(int i=0;i<l;i++){
		if(s[i]=='(')l2[++sl]=i;
		else if(s[i]==')')l1[l2[sl]]=i,r1[i]=l2[sl--];
	}
	print(0,l-1);
	return 0;
}
int _233=main1();
int main(){
	
}