1309_括号匹配

2022-5-16 18:17| 发布者: Hocassian| 查看: 34| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-2-89503759043999-Problem List-采集的数据-后羿采集器.html

Pro.ID

1309

Title

括号匹配

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=1309

AC

682

Submit

5345

Ratio

12.76%

时间&空间限制

  • Time Limit: 400/200 MS (Java/Others)     Memory Limit: 32768/65536 K (Java/Others)
  • 描述

    假设表达式中允许包含4种括号:圆括号、方括号、花括号、尖括号,其嵌套的顺序随意,即([]())<>[([{}]{[]})]等为正确的格式,但{[(])>([(<))(()])([)]均为不正确的格式。

    给出括号的序列,请判断该序列的括号是否匹配为正确的格式。

    输入

    有多个测试用例。

    每个测试用例占一行。每一行仅包含上述的括号,不含其它字符,一行的括号总数不超过10000个。

    输出

    Description

    假设表达式中允许包含4种括号:圆括号、方括号、花括号、尖括号,其嵌套的顺序随意,即([]())<>[([{}]{[]})]等为正确的格式,但{[(])>([(<))(()])([)]均为不正确的格式。

    给出括号的序列,请判断该序列的括号是否匹配为正确的格式。

    Input

    有多个测试用例。

    每个测试用例占一行。每一行仅包含上述的括号,不含其它字符,一行的括号总数不超过10000个。

    Output

    对每个括号序列输出一行结果,如果该括号序列是匹配正确的,则输出"YES",否则输出"NO"。

    Sample Input

    ([]())
    [([][])]
    [>(])
    ([(<))
    {(()])

    Sample Output

    YES
    YES
    NO
    NO
    NO

    Hint

    正确的打开姿势:

    while ( ~scanf ( "%s", s ) )   /// 由于输入字符串不含空格,所以可以使用scanf


    while ( scanf ( "%s", s ) != EOF )


    while ( getline ( s , 10000, stdin ) )   /// 从标准输入读入一行,长度不超过一万。


    while ( cin >> s )


    判断字符串s是否到了结尾: s[i] == '\n' || s[i] == '\0'

    Author

    样例输入

    ([]())
    [([][])]
    [>(])
    ([(<))
    {(()])

    样例输出

    YES
    YES
    NO
    NO
    NO

    提示

    正确的打开姿势:

    while ( ~scanf ( "%s", s ) )   /// 由于输入字符串不含空格,所以可以使用scanf


    while ( scanf ( "%s", s ) != EOF )


    while ( getline ( s , 10000, stdin ) )   /// 从标准输入读入一行,长度不超过一万。


    while ( cin >> s )


    判断字符串s是否到了结尾: s[i] == '\n' || s[i] == '\0'

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部