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

提交3 通过1
通过率33.3%
时间限制1000ms
内存限制128MiB
    ID: 12835 传统题 1000ms 128MiB 尝试: 3 已通过: 1 难度: 普及- 上传者: 标签>C++c++编程题浩轩OJ迁移6级2025年寒假六级班题库

题目描述

题目描述

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

输入格式

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

输出格式

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

输入样例 #1

(())

输出样例 #1

Yes
2 3
1 4

输入样例 #2

()

输出样例 #2

Yes
1 2

输入样例 #3

(()

输出样例 #3

No

数据范围与约定

字符串长度不大于 50000。