21103_Parencodings

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

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

Pro.ID

21103

Title

Parencodings

Title链接

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

AC

75

Submit

144

Ratio

52.08%

时间&空间限制

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

    Let S = s1s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways:

    • By an integer sequence P = p1p2...pn where pi is the number of left parentheses before the i-th right parenthesis in S (P-sequence).

    • By an integer sequence W = w1w2...wn where for each right parenthesis, say a in S, we associate an integer which is the number of right parentheses counting from the matched left parenthesis of a up to a. (W-sequence).

    Following is an example of the above encodings:

    S          (((()()())))
    P-sequence     4 5 6666
    W-sequence     1 1 1456

    Write a program to convert P-sequence of a well-formed string to the W-sequence of the same string.

    输入

    The first line of the input contains a single integer t ( 1 ≤ t ≤ 10 ), the number of test cases, followed by the input data for each test case. The first line of each test case is an integer n ( 1 ≤ n ≤ 20 ), and the second line is the P-sequence of a well-formed string. It contains n positive integers, separated with blanks, representing the P-sequence.

    输出

    Description

    Let S = s1s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways:

    • By an integer sequence P = p1p2...pn where pi is the number of left parentheses before the i-th right parenthesis in S (P-sequence).

    • By an integer sequence W = w1w2...wn where for each right parenthesis, say a in S, we associate an integer which is the number of right parentheses counting from the matched left parenthesis of a up to a. (W-sequence).

    Following is an example of the above encodings:

    S          (((()()())))
    P-sequence     4 5 6666
    W-sequence     1 1 1456

    Write a program to convert P-sequence of a well-formed string to the W-sequence of the same string.

    Input

    The first line of the input contains a single integer t ( 1 ≤ t ≤ 10 ), the number of test cases, followed by the input data for each test case. The first line of each test case is an integer n ( 1 ≤ n ≤ 20 ), and the second line is the P-sequence of a well-formed string. It contains n positive integers, separated with blanks, representing the P-sequence.

    Output

    The output file consists of exactly t lines corresponding to test cases. For each test case, the output line should contain n integers describing the W-sequence of the string corresponding to its given P-sequence.

    Sample Input

    2
    6
    4 5 6 6 6 6
    9
    4 6 6 6 6 8 9 9 9

    Sample Output

    1 1 1 4 5 6
    1 1 2 4 5 1 1 3 9

    Source

    样例输入

    2
    6
    4 5 6 6 6 6
    9
    4 6 6 6 6 8 9 9 9

    样例输出

    1 1 1 4 5 6
    1 1 2 4 5 1 1 3 9

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部