这题目的描述有点不清楚,这里放一张图就懂题意了:
using namespace std
;
char q
[105
];
int i
=0
;
int dfs
()
{
int cnt
=0
;
int maxx
=0
;
int len
=strlen
(q
);
while
(i
<len
)
{
if
(q
[i
]=='(')
{
i++
;
cnt+
=dfs
();
}
else if
(q
[i
]=='x')
{
cnt++
;
i++
;
}
else if
(q
[i
]=='|')
{
maxx
=max
(maxx,cnt
);
cnt
=0
;
i++
;
}
else if
(q
[i
]==')')
{
i++
;
break;
}
}
return max
(cnt,maxx
);
}
int main
()
{
scanf
("%s",q
);
int ans
=dfs
();
printf
("%d\n",ans
);
}
转载请注明原文地址:https://blackberry.8miu.com/read-29135.html