记录编号 |
453962 |
评测结果 |
AAAAAAAAAA |
题目名称 |
天天和不可描述 |
最终得分 |
100 |
用户昵称 |
Bennettz |
是否通过 |
通过 |
代码语言 |
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(){
}