⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2822935_tle.cc

📁 做的POJ的一些题目
💻 CC
字号:
#include<iostream>
#include<string>
using namespace std;
int n,best=1000;
int bestx[101],mg[101];
char c[102];
void backtrace(int x,int y,int k)
{
    if(k>=best)
       return;
    if(x>=y)
    {
        if(x==y)
        {
          mg[k]=x;
          k++;
        }
        if(k<best) 
        {   
            for(int i=0;i<k;i++)
                bestx[i]=mg[i];
            best=k;
        }                  
    }             
    else
    {
        if((c[x]=='[' && c[y]==']') || (c[x]=='(' && c[y]==')'))        
           backtrace(x+1,y-1,k);
        else
        {
           mg[k]=x;
           backtrace(x+1,y,k+1);
           mg[k]=y;
           backtrace(x,y-1,k+1);
        }    
    }
}
int cmp(const void *a, const void *b)
{
       return(*(int *)a-*(int *)b);
}
int main()
{
    scanf("%s",c);
    n=strlen(c);
    backtrace(0,n-1,0);
    qsort(bestx,best,sizeof(bestx[0]),cmp);
    int k=0;
    for(int i=0;i<n;i++)
    {
           if(i==bestx[k])
            {
                if(c[i]=='[' || c[i]==']')
                   printf("[]");
                else
                   printf("()");
                k++;              
            }
            else  
                printf("%c",c[i]);    
    }
    printf("\n");
    system("pause");
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -