179.cpp
来自「平时acm训练时ac的源代码」· C++ 代码 · 共 91 行
CPP
91 行
//179
//Accepted 31 ms 61 kb
#include <stdio.h>
#include <string.h>
int main(void)
{
char *S;
S = new char[10001];
scanf("%s", S);
int len = strlen(S);
int j, c, l, r, c2;
l = -1;
c2 = 1;
for (int i=len-2; i>=0; i--)
{
if ('('==S[i])
{
if (c2<2)
{
c2--;
}
else
{
for (j=i+1, c=0; j<len; j++)
{
if ('('==S[j])
{
c++;
}
else
{
if (0==c)
{
l = i;
r = j;
j = len;
i = -100;
}
else
{
c--;
}
}
}
}
}
else
{
c2++;
}
}
if (l==-1)
{
printf("No solution");
}
else
{
c = 0;
c2 = 0;
for (j=r+1; j<len; j++)
{
if ('('==S[j])
{
c++;
}
else
{
c2++;
}
}
S[l] = '\0';
printf("%s", S);
printf(")");
S[r] = '\0';
printf("%s", &S[l+1]);
printf("(");
for (j=0; j<c; j++)
{
printf("(");
}
for (j=0; j<c2; j++)
{
printf(")");
}
}
delete S;
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?