完美字符串问题
题目链接<-点击
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char s[100000+100];
int a[100000+100];
int main ()
{
scanf("%s",s);
int len=strlen(s);
int l=0,r=0,ans=0,cnt=0,flag=0;
int i;
for(i=0;i<len;i++)
{
if(s[i]=='(')
l++;
else if(s[i]==')'&&l)
{
r++;
}
else if(s[i]=='#')
{
a[ans]=i;
ans++;
}
if(l<r+ans)
{
flag=1;
break;
}
}
if(flag==1)
printf("-1\n");
else
{
cnt=l-r-ans+1;
l=0,r=0;
for(i=a[ans-1];i<len;i++)
{
if(s[i]=='(')
{
l++;
}
else if(s[i]==')'&&l)
{
r++;
}
}
if(l>r)
{
printf("-1\n");
}
else
{
for(i=0;i<ans-1;i++)
{
printf("1 ");
}
printf("%d\n",cnt);
}
}
}