U629412 命中注定

题目背景

在无尽的旅途中,铃仙于时间的褶皱里瞥见了一个熟悉的身影——那是个戴着红色兜帽、手提藤编挎篮的姑娘,正是童话里的小红帽。 ​ 可令人惊讶的是,小红帽竟与一只毛茸茸的大狼同住在一个屋檐下,她们像茶会上的糖罐与茶勺般紧挨着。 ​ 铃仙忍不住问道:“你的外婆去哪儿啦?”小红帽茫然地眨眨眼,轻声回答:“我从来没有过外婆呀。” ​ 铃仙更惊讶了,又问:“那你的母亲呢?”小红帽摇摇头:“我也没有母亲。” ​ 困惑的铃仙继续追问:“那你为什么和狼住在一起呢?” ​ 小红帽叹了口气,望向远方:“我和我的狼,就像一串由括号组成的魔法符号,原本每一对都完美匹配。可自从爱丽丝经过这里,她施了个咒语,把所有成对的括号都打乱了……现在,谁也分不清它们还能不能彼此呼应。你能帮我看看这串括号是否还能匹配吗?如果你愿意,我就告诉你爱丽丝去了哪个方向。”

题目描述

​ 给定一个由字符 `'('` 和 `')'` 组成的括号串,需判断其是否为**合法括号匹配串**。 ​ 若合法,则输出 `YES` ​ 若不合法,则输出 `NO` ,并输出最少需要添加多少个括号才能使其合法。 **括号串合法**的规则: - ​ 空括号串合法; - ​ 若 `S` 合法,则 `(S)` 合法; - ​ 若 `S` 和 `T` 合法,则 `ST` 合法。

输入格式

输入共一行,一个由 `'('` 和 `')'` 组成的括号串 $S$。 ​ 对于$100\%$的数据,括号串的长度$

输出格式

如果括号串合法,输出一行 `YES`。 ​ 如果括号串不合法,输出两行:第一行为 `NO`,第二行为一个整数,表示最少需要添加的括号数量。

说明/提示

第一个样例的括号串是匹配的 ​ 第二个样例的括号串,最后一个字符 `(` 是不匹配的,因此再需要一个括号 `) `即可匹配