U629412 命中注定
题目背景
在无尽的旅途中,铃仙于时间的褶皱里瞥见了一个熟悉的身影——那是个戴着红色兜帽、手提藤编挎篮的姑娘,正是童话里的小红帽。
可令人惊讶的是,小红帽竟与一只毛茸茸的大狼同住在一个屋檐下,她们像茶会上的糖罐与茶勺般紧挨着。
铃仙忍不住问道:“你的外婆去哪儿啦?”小红帽茫然地眨眨眼,轻声回答:“我从来没有过外婆呀。”
铃仙更惊讶了,又问:“那你的母亲呢?”小红帽摇摇头:“我也没有母亲。”
困惑的铃仙继续追问:“那你为什么和狼住在一起呢?”
小红帽叹了口气,望向远方:“我和我的狼,就像一串由括号组成的魔法符号,原本每一对都完美匹配。可自从爱丽丝经过这里,她施了个咒语,把所有成对的括号都打乱了……现在,谁也分不清它们还能不能彼此呼应。你能帮我看看这串括号是否还能匹配吗?如果你愿意,我就告诉你爱丽丝去了哪个方向。”
题目描述
给定一个由字符 `'('` 和 `')'` 组成的括号串,需判断其是否为**合法括号匹配串**。
若合法,则输出 `YES`
若不合法,则输出 `NO` ,并输出最少需要添加多少个括号才能使其合法。
**括号串合法**的规则:
- 空括号串合法;
- 若 `S` 合法,则 `(S)` 合法;
- 若 `S` 和 `T` 合法,则 `ST` 合法。
输入格式
输入共一行,一个由 `'('` 和 `')'` 组成的括号串 $S$。
对于$100\%$的数据,括号串的长度$
输出格式
如果括号串合法,输出一行 `YES`。
如果括号串不合法,输出两行:第一行为 `NO`,第二行为一个整数,表示最少需要添加的括号数量。
说明/提示
第一个样例的括号串是匹配的
第二个样例的括号串,最后一个字符 `(` 是不匹配的,因此再需要一个括号 `) `即可匹配