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;
}