HX2874. 栈专题课堂题六:括号匹配3

提交3 通过2
通过率66.7%
时间限制1000ms
内存限制128MiB

题目描述

题目描述

小珅同学在纸上写了一个串,只包含 '(' 和 ')'。一个 '(' 能唯一匹配一个 ')',但是一个匹配的 '(' 必须出现在 ')' 之前。请判断小珅同学写的字符串能否括号完全匹配,如果能,输出配对的括号的位置(匹配的括号不可以交叉,只能嵌套)。

输入格式

一行输入一个字符串只含有 '(' 和 ')',输入的字符串长度不大于 50000。

输出格式

如果输入括号不能匹配,输出一行 "No",否则输出一行 "Yes",接下来若干行每行输出 2 个整数,用空格隔开,表示所有匹配对的括号的位置(下标从 1 开始)。你可以按照任意顺序输出。

输入样例 #1

(())

输出样例 #1

Yes
2 3
1 4

输入样例 #2

()

输出样例 #2

Yes
1 2

输入样例 #3

(()

输出样例 #3

No

数据范围与约定

字符串长度不大于 50000。