B. Kuroni and Simple Strings

B. Kuroni and Simple Strings

在这里插入图片描述

在这里插入图片描述
我们可以从两头遍历,找‘(’和‘)’

#include <iostream>
#include <algorithm>
#include <string>
#include <cmath>
using namespace std;
int main()
{
    
    
    string s;
    int a=0,i,j,z=0,b[1005],k=0,f=0,t=0;
    cin>>s;
    for(i=0; i<s.length()-1; i++)
    {
    
    
        if(s[i]=='(')
        {
    
    
            z=i+1;
            for(j=s.length()-1; j>=0;)
            {
    
    
                if(s[j]==')')
                {
    
    
                    f=1;
                    b[k]=i+1;
                    k++;
                    b[k]=j+1;
                    k++;
                    s[i]= s[j]='#';//担心已经记录过的会捣乱,所以重新定义一下
                    break;
                }
                else
                    j--;
                z++;
                if(z==s.length())
                    goto re;
            }
        }
    }
re:
    if(!f)
        cout<<"0"<<endl;
    else
    {
    
    

        cout<<"1"<<endl;
        cout<<k<<endl;
        sort(b,b+k);
        for(i=0; i<k; i++)
            cout<<b[i]<<" ";
    }



    return 0;
}

猜你喜欢

转载自blog.csdn.net/cuijunrongaa/article/details/104665807