Statistics

Problem Statement for "ParenthesesAndPermutation"

Problem Statement

Correct parentheses sequences can be defined recursively as follows:
  • The empty string "" is a correct sequence.
  • If "X" and "Y" are correct sequences, then "XY" (the concatenation of X and Y) is a correct sequence.
  • If "X" is a correct sequence, then "(X)" is a correct sequence.
  • Each correct parentheses sequence can be derived using the above rules.
Examples of correct parentheses sequences include "", "()", "()()()", "(()())", and "(((())))".

You are given a int[] p with n elements. The elements of p are a permutation of the numbers 0 to n-1. Find strings s and t with the following properties:
  • Both s and t are correct parentheses sequences.
  • Each of them has exactly n characters.
  • For each valid i, s[i] = t[ p[i] ].

Return one possible string s. If there are multiple possibilities, you may return any of them. If there is no solution, return "Impossible" instead.

Definition

Class:
ParenthesesAndPermutation
Method:
getSequence
Parameters:
int[]
Returns:
String
Method signature:
String getSequence(int[] p)
(be sure your method is public)

Constraints

  • p will contain between 2 and 50 elements, inclusive.
  • The length of p will be even.
  • p will be a permutation of 0 to (|p|-1).

Examples

  1. {2,0,3,1}

    Returns: "(())"

    We are looking for two correct parentheses sequences such that s[0]=t[2], s[1]=t[0], s[2]=t[3], and s[3]=t[1]. There are two parentheses sequences of length 4: "(())" and "()()". We can now argue as follows: Can s be "(())"? We can deduce that t must be "()()" which is a correct parentheses sequence, so this is a valid solution. Can s be "()()"? We can deduce that t must be "))((" which is not a correct parentheses sequence, so this is not a valid solution. Therefore, the only valid solution is s = "(())".

  2. {1,0}

    Returns: "Impossible"

    s and t must each be "()", but then s[0] != t[p[0]], so it is impossible to find such s and t.

  3. {4,5,6,7,0,1,2,3}

    Returns: "(())(())"

    Another valid solution is: s = t = "()()()()".

  4. {9,8,7,6,5,4,3,2,1,0}

    Returns: "Impossible"

  5. {0,1}

    Returns: "()"

  6. {49,19,2,6,39,41,38,25,8,1,34,37,31,46,26,21,17,40,15,43,42,48,32,28,11,3,4,16,20,45,14,27,5,35,30,13,44,33,12,24,22,0,29,7,18,36,10,9,47,23}

    Returns: "Impossible"

  7. {49,10,23,48,13,17,16,46,40,36,24,32,28,14,2,25,42,47,37,30,18,0,4,11,33,3,21,38,22,44,20,19,43,34,31,12,8,1,7,39,45,41,6,15,29,26,5,35,9,27}

    Returns: "Impossible"

  8. {49,20,36,27,19,39,3,9,34,12,14,24,22,29,32,48,8,1,21,15,18,10,46,25,26,28,16,31,17,0,44,6,7,13,47,40,4,37,42,2,23,11,41,35,5,33,30,45,43,38}

    Returns: "Impossible"

  9. {26,2,24,37,11,22,34,31,10,23,32,48,28,49,8,13,38,44,20,42,14,47,6,15,46,17,45,30,41,4,40,19,43,12,29,7,39,1,9,16,18,35,21,27,36,33,5,3,25,0}

    Returns: "Impossible"

  10. {49,28,25,3,23,37,32,20,26,13,46,29,27,39,21,5,17,12,43,4,6,7,40,34,36,15,48,45,42,0,2,11,47,35,31,19,18,22,16,38,33,9,10,24,44,8,1,14,30,41}

    Returns: "Impossible"

  11. {34,12,39,47,10,11,25,42,4,28,43,16,17,30,3,49,2,32,31,14,45,24,7,19,33,6,29,40,41,23,8,20,15,1,13,48,21,9,26,38,22,44,46,18,36,35,37,27,5,0}

    Returns: "Impossible"

  12. {1,30,5,34,49,7,4,31,42,16,40,22,13,6,45,39,14,3,44,18,21,24,41,46,20,27,19,29,43,37,35,8,10,12,48,28,11,36,15,17,38,47,32,23,2,26,33,25,9,0}

    Returns: "Impossible"

  13. {4,17,2,42,8,41,13,38,22,29,36,34,30,9,46,16,18,48,23,28,39,35,21,5,14,49,15,31,37,20,19,40,10,26,25,3,6,33,7,32,43,27,12,1,11,44,24,47,45,0}

    Returns: "Impossible"

  14. {49,7,21,48,33,37,10,19,16,46,3,0,24,45,17,13,35,12,44,30,38,4,31,23,18,22,28,34,25,42,32,39,6,14,2,43,40,9,11,36,26,41,1,5,27,47,20,8,29,15}

    Returns: "Impossible"

  15. {49,3,28,26,46,24,5,34,23,14,44,35,36,21,48,12,13,30,19,4,16,18,10,11,33,20,22,40,1,32,8,2,38,39,31,0,25,43,7,6,15,29,47,37,41,42,27,17,9,45}

    Returns: "Impossible"

  16. {49,47,36,43,41,14,19,46,37,4,9,8,18,13,0,35,30,32,15,45,16,48,28,20,29,23,12,21,34,39,24,3,31,25,7,44,38,40,5,17,26,42,33,10,2,1,22,6,11,27}

    Returns: "Impossible"

  17. {49,4,9,40,36,16,31,8,2,19,33,1,20,22,43,17,21,10,47,37,46,3,34,26,7,29,18,24,39,27,35,41,30,5,38,23,28,15,32,12,0,45,44,13,14,25,48,11,42,6}

    Returns: "Impossible"

  18. {14,26,19,12,34,2,29,27,48,32,9,4,38,7,3,16,39,45,5,25,24,35,46,21,41,31,18,47,10,15,42,28,11,17,43,23,30,6,44,13,8,49,40,1,37,33,20,36,22,0}

    Returns: "Impossible"

  19. {19,4,10,42,25,43,13,30,32,33,5,14,35,48,15,18,31,22,41,38,24,1,3,29,34,27,28,11,12,40,16,20,8,21,37,2,17,45,49,36,7,44,23,39,9,26,47,46,6,0}

    Returns: "Impossible"

  20. {27,13,49,10,45,29,35,7,44,36,43,23,9,4,21,6,25,38,14,18,24,12,46,8,34,32,19,16,1,5,39,42,47,3,33,40,28,17,20,26,48,30,31,41,15,37,22,11,2,0}

    Returns: "Impossible"

  21. {41,43,31,24,35,15,16,39,28,12,19,22,20,37,23,34,47,7,9,6,45,2,32,49,40,36,8,1,18,44,30,10,46,14,42,13,25,38,11,3,29,27,21,26,5,33,48,17,4,0}

    Returns: "Impossible"

  22. {49,1,29,34,47,45,9,13,18,6,23,44,43,36,2,0,3,5,46,10,35,4,17,31,42,20,28,19,15,22,33,11,21,48,26,8,39,38,37,40,7,30,27,41,12,25,14,24,32,16}

    Returns: "Impossible"

  23. {49,12,37,25,44,2,5,23,18,14,40,35,7,38,1,34,47,0,43,4,41,8,46,33,39,31,29,26,19,17,42,15,11,16,20,45,30,13,9,27,24,3,22,36,48,10,32,6,21,28}

    Returns: "Impossible"

  24. {49,38,11,14,39,40,8,30,26,18,22,2,5,45,10,27,34,33,1,44,36,20,19,43,32,37,42,35,12,21,13,23,47,3,29,25,46,9,4,7,0,41,24,15,6,16,31,28,17,48}

    Returns: "Impossible"

  25. {11,20,6,43,15,29,36,39,24,17,45,41,12,30,7,13,14,2,10,21,34,9,46,49,35,16,22,26,27,28,31,38,44,33,1,37,32,4,48,8,3,5,47,42,18,40,23,19,25,0}

    Returns: "Impossible"

  26. {49,28,1,40,38,27,25,47,20,24,39,31,10,41,36,16,33,3,4,17,42,8,44,46,18,15,0,26,45,6,2,43,14,32,23,48,13,11,12,35,37,29,21,5,34,22,30,9,7,19}

    Returns: "Impossible"

  27. {49,24,3,17,20,43,18,32,25,22,27,35,21,47,46,19,41,11,42,16,10,34,37,2,13,40,33,8,5,45,23,31,6,44,38,0,39,1,9,15,4,30,48,28,12,36,7,14,26,29}

    Returns: "Impossible"

  28. {49,20,33,16,31,44,6,39,19,34,14,36,29,25,35,24,45,17,4,15,26,2,30,3,28,22,11,23,1,46,10,13,27,21,41,12,43,0,47,9,32,7,8,48,37,18,5,40,38,42}

    Returns: "Impossible"

  29. {10,22,31,45,5,28,7,44,40,42,46,6,1,11,27,25,12,43,2,14,15,30,39,9,35,3,33,37,21,13,19,48,26,47,36,34,49,17,4,41,38,16,24,18,23,8,29,32,20,0}

    Returns: "Impossible"

  30. {25,35,26,46,40,21,7,18,30,33,48,41,44,47,9,19,3,24,29,37,4,43,28,38,10,6,49,45,39,5,31,42,36,32,20,12,16,27,14,15,8,23,17,1,34,11,13,2,22,0}

    Returns: "Impossible"

  31. {49,11,15,22,44,41,18,47,3,6,10,17,36,42,21,23,46,1,5,30,26,28,2,24,34,16,29,31,33,8,43,45,40,14,19,35,25,48,12,20,39,27,32,0,9,7,38,4,37,13}

    Returns: "Impossible"

  32. {10,22,24,41,30,15,36,8,47,43,5,11,26,3,38,27,1,12,42,32,4,23,13,44,9,37,18,45,2,7,35,40,21,17,6,31,19,39,28,25,16,20,49,34,33,14,48,46,29,0}

    Returns: "Impossible"

  33. {36,10,38,17,47,43,9,42,35,23,41,12,48,8,19,27,44,13,26,1,3,39,5,29,15,37,28,22,40,24,6,21,4,16,2,11,34,7,49,45,30,20,32,18,14,33,31,46,25,0}

    Returns: "Impossible"

  34. {48,22,9,39,28,13,30,21,5,4,24,10,49,8,6,19,11,44,17,0,43,35,23,32,41,37,2,36,18,31,45,33,14,15,47,7,42,25,46,26,40,3,38,34,27,29,20,12,1,16}

    Returns: "((())()((((()(((()(())()))()()))(()()()))())))()()"

  35. {41,36,32,16,21,1,49,27,24,33,26,19,28,48,25,35,7,6,17,43,45,31,0,11,22,46,42,8,38,4,39,12,44,37,2,29,13,18,5,3,10,15,14,40,20,30,34,47,9,23}

    Returns: "()(((())())())()((()))((())()()())()()((((()))))()"

  36. {20,48,47,29,24,18,12,5,37,28,38,33,14,35,9,40,30,23,41,22,21,46,26,17,6,19,1,32,45,31,44,42,4,11,39,25,0,7,34,13,3,36,2,15,10,49,27,43,16,8}

    Returns: "()()(((()())()())()(())(((()))))(())(()(()((()))))"

  37. {48,0,7,6,43,44,33,12,10,17,21,26,49,31,1,27,15,9,41,13,14,39,5,24,30,22,20,38,3,16,28,47,35,36,46,2,4,23,34,32,19,8,25,11,42,45,37,18,29,40}

    Returns: "(((()))(((()))()(()(()())(()(()))))((())(()()))())"

  38. {18,37,45,20,3,13,39,49,40,15,1,41,24,31,19,12,11,22,28,32,17,23,35,26,29,14,43,46,9,7,36,27,30,4,42,25,21,16,47,2,6,8,33,5,0,38,48,34,10,44}

    Returns: "(()((()))(()()(((())(()))())(()))())(()((()(()))))"

  39. {3,9,41,42,48,0,49,39,11,26,6,7,46,28,38,36,43,15,45,24,31,12,19,18,16,25,4,40,14,23,34,5,30,10,1,21,32,13,22,33,44,47,37,17,8,29,20,2,27,35}

    Returns: "((())())(((()()))()()(((()()())()((()()))))(())())"

  40. {47,2,25,23,33,35,24,37,16,46,17,10,22,8,48,13,9,1,42,4,12,3,5,49,39,28,40,21,11,43,41,0,45,27,19,31,26,36,18,20,14,38,6,34,44,30,7,32,29,15}

    Returns: "(()())()()(((()((()(((())))(())())()))((()()))()))"

  41. {20,36,2,45,18,15,26,42,9,33,49,3,32,7,30,8,0,27,29,10,17,4,16,25,5,14,38,11,46,31,41,12,40,28,48,37,39,21,35,47,19,44,13,43,34,22,1,6,23,24}

    Returns: "()()((()())()()((()((((((()()))()))))())()()))(())"

  42. {31,10,35,5,7,9,46,19,38,49,32,20,40,4,27,18,39,44,33,43,30,12,24,16,41,37,42,47,29,48,36,25,28,3,23,14,13,15,17,22,0,26,6,8,11,45,21,2,34,1}

    Returns: "(()((()())(()((())))(((())))())()()(()))()((())())"

  43. {39,35,26,40,31,10,30,11,5,29,14,6,19,28,8,33,13,21,41,36,4,3,22,47,44,48,9,1,42,46,32,16,20,27,15,2,34,24,17,43,7,25,49,23,0,37,45,38,18,12}

    Returns: "()()(()(()((()()(())((()))(()))(()(())()()))()))()"

  44. {15,44,30,9,18,34,28,7,38,31,8,19,43,21,41,47,11,20,1,39,35,22,17,14,0,46,25,23,48,6,2,45,37,29,12,4,36,13,27,26,16,3,42,49,10,33,40,24,32,5}

    Returns: "()((())())(()())((())(((())()(()))(()())(())())())"

  45. {44,6,30,9,8,1,47,22,0,18,37,26,48,11,43,41,42,3,15,2,10,33,16,17,31,25,12,27,20,14,35,13,39,45,23,29,5,7,4,32,34,49,40,19,21,38,36,46,24,28}

    Returns: "(()((()((()))()))(((()(())()(()())()((())))(()))))"

  46. {33,20,41,37,36,43,3,48,46,14,30,0,27,34,16,35,24,2,45,26,7,12,29,28,31,8,47,19,4,5,13,10,44,18,32,42,6,15,38,11,49,39,21,17,9,23,25,22,40,1}

    Returns: "(()(()())()())()(()((()))()((((()())(()()))(()))))"

  47. {2,28,36,8,37,27,5,11,22,4,9,18,6,44,32,42,47,49,3,38,21,30,39,20,1,41,0,19,46,16,43,10,34,12,40,15,35,13,25,48,23,26,31,45,7,29,24,33,14,17}

    Returns: "(()())((((((()))))()())(()(()()()()()())()))()()()"

  48. {6,43,34,44,37,49,19,15,7,27,28,0,25,29,3,45,33,30,18,31,42,38,12,23,9,48,14,24,4,36,2,26,10,41,40,32,22,47,13,5,16,21,11,17,39,8,20,46,1,35}

    Returns: "()()()(((()(()()))()))((()()()()()))()((()())())()"

  49. {37,2,16,40,30,4,24,1,27,29,15,49,5,36,28,35,7,14,33,42,31,41,10,18,17,25,22,43,38,48,26,46,44,13,23,47,12,19,34,9,0,45,21,39,3,11,8,32,20,6}

    Returns: "((())(((()()()))(())))((((()))())())(()(()))((()))"

  50. {17,37,47,39,45,10,8,13,33,6,31,0,46,48,18,3,21,12,7,9,11,28,16,1,29,24,43,25,15,49,5,36,34,26,14,4,20,23,19,35,30,38,40,2,22,32,42,27,41,44}

    Returns: "(()()((()()())((((((()(())))()()))((()())))(()))))"

  51. {14,29,9,35,48,47,3,13,27,8,42,10,26,39,30,31,18,28,37,33,21,0,7,6,32,24,38,1,43,12,11,36,4,5,25,40,23,45,16,20,19,49,17,41,2,15,34,44,22,46}

    Returns: "((()))(((()(()))()))(((()))()(()(())))((()()(())))"

  52. {11,30,37,12,44,23,13,26,17,6,21,46,9,29,41,47,2,8,33,18,28,7,5,10,0,20,36,22,27,19,1,43,34,14,15,35,42,4,45,24,39,38,25,48,3,40,32,49,31,16}

    Returns: "(()()(()((()()))(()()((((()()(())(())()())))()))))"

  53. {49,28,20,42,31,35,3,43,5,2,27,10,0,21,6,46,13,7,22,39,33,25,47,23,19,9,24,15,32,40,1,37,44,45,14,48,30,34,8,18,11,38,26,29,16,4,12,41,17,36}

    Returns: "Impossible"

  54. {3,14,18,49,37,24,34,10,31,44,13,17,39,12,16,23,27,40,6,46,21,26,25,20,28,19,43,41,32,5,30,29,8,36,15,35,7,42,38,9,2,1,47,11,22,4,0,33,45,48}

    Returns: "((())()())(()((())()(((()()))())()()())((()))(()))"

  55. {20,44,43,8,23,32,7,48,39,42,38,13,49,6,4,19,46,16,29,25,27,11,3,2,45,31,22,0,17,30,14,26,33,9,21,41,18,12,1,34,35,40,47,24,36,5,15,37,10,28}

    Returns: "()((((())))()((()()))((())((()())(()((())))))())()"

  56. {14,25,49,32,46,36,35,9,19,21,48,34,1,20,8,24,18,11,37,45,39,27,4,7,30,5,47,26,43,12,41,22,3,40,38,33,31,2,44,10,28,16,15,23,0,6,13,17,29,42}

    Returns: "(()())(((())(((((())))(()()))()(())))()())()((()))"

  57. {46,31,16,17,24,42,11,22,38,4,20,14,48,5,9,47,32,8,43,40,1,35,36,12,45,39,18,34,13,19,29,23,27,44,41,28,21,15,49,30,6,37,2,0,26,33,3,25,10,7}

    Returns: "()((()(()((()(())())())())()(()())))(())()(())()()"

  58. {15,18,13,5,46,1,39,17,49,47,22,16,34,30,10,7,24,36,9,8,48,31,19,44,0,21,3,37,38,28,40,20,12,26,6,43,25,14,45,23,42,32,41,35,27,4,2,29,11,33}

    Returns: "(((()()())(())((()(())()((())))(()()(()()))))(()))"

  59. {10,33,27,4,46,17,18,48,29,19,38,15,36,34,1,35,11,12,30,42,3,20,9,28,26,44,45,37,47,8,7,39,16,21,0,2,40,43,24,41,6,31,25,5,23,49,22,14,32,13}

    Returns: "()(()(())()())()(())((((())))(()(((())))())())(())"

  60. {44,36,0,7,38,45,25,8,49,41,10,18,33,28,26,35,27,22,29,13,30,39,15,43,17,12,3,37,2,31,23,48,19,46,24,32,6,20,21,5,42,11,16,34,1,4,9,40,14,47}

    Returns: "()(())(())(())()(()())()((()()()()))(()()())((()))"

  61. {28,8,1,47,25,19,10,16,4,44,17,21,29,38,23,48,45,12,30,6,46,31,35,40,27,42,26,34,11,3,14,0,5,15,32,37,43,7,33,20,9,22,13,24,41,18,49,2,36,39}

    Returns: "((()((((()(())())()())))))()(((((()))())()())()())"

  62. {36,45,5,42,7,4,13,46,21,12,43,33,30,14,29,15,23,26,1,19,35,25,28,11,0,17,27,16,34,47,41,49,22,40,24,3,18,6,37,9,48,2,10,31,20,32,44,39,38,8}

    Returns: "()()((()(()))()(()(()))((()())))()(((()()(()()))))"

  63. {14,36,46,47,31,45,10,22,35,15,2,30,20,12,37,8,17,49,38,28,7,29,34,3,40,26,9,6,4,42,0,18,19,41,33,27,32,13,39,11,5,24,25,1,16,43,21,48,44,23}

    Returns: "(())()(()(()(()(()))())())((()((())))()(())(()()))"

  64. {16,4,5,7,39,47,48,45,12,46,10,20,34,11,18,40,13,1,6,32,22,24,15,27,38,37,14,21,25,23,42,26,33,28,9,29,31,43,44,8,0,2,36,17,35,3,41,49,19,30}

    Returns: "(((())))()(()(()((()((()))(((())))())))((()()())))"

  65. {37,39,33,42,28,30,20,18,32,6,3,4,34,43,22,15,5,31,1,40,49,23,2,9,35,19,44,8,17,25,47,7,16,21,48,36,12,38,45,24,26,41,10,0,14,46,27,13,11,29}

    Returns: "()()()(()((())((()()))(()()(())((())()))))((()))()"

  66. {43,16,46,10,30,32,48,24,4,15,0,38,18,22,37,1,6,21,44,29,7,35,19,36,49,45,3,12,41,33,11,14,20,8,27,26,34,42,39,31,9,23,5,2,17,25,47,13,28,40}

    Returns: "(()(()))((()(()((())()()))(())(((())))))()((())())"

  67. {25,21,37,38,23,30,19,22,39,35,14,49,32,9,18,15,3,17,0,10,42,12,26,48,41,47,1,6,43,13,2,46,28,33,24,31,7,44,45,5,36,11,20,34,16,40,4,8,27,29}

    Returns: "(())(((())())((((((()())))(()(()))))())()())()(())"

  68. {13,30,17,7,1,29,45,38,5,34,24,42,14,41,10,8,25,32,19,43,23,40,39,16,27,12,0,9,2,4,33,35,48,44,37,15,26,31,47,21,6,46,36,28,49,3,11,20,18,22}

    Returns: "()((()))()()()((()()())((((((()))))(())(())))(()))"

  69. {47,16,35,38,39,14,15,4,24,33,5,27,37,22,2,1,34,9,31,3,32,30,40,29,28,13,43,0,36,20,11,45,10,7,18,44,42,6,8,48,19,49,23,12,25,41,17,21,26,46}

    Returns: "((())(((()())((()()()))))()()(()((())(()())())()))"

  70. {1,0,6,32,17,19,40,29,18,20,38,9,7,24,26,13,4,39,12,43,14,37,27,5,30,48,25,21,34,10,8,31,2,33,11,35,49,42,46,23,22,28,47,3,36,16,15,45,44,41}

    Returns: "((()(())(()((()(()()())()))()(()()())))(())()(()))"

  71. {2,33,19,0,32,48,5,11,46,42,14,22,16,29,37,39,41,34,44,3,40,31,25,28,8,47,7,9,10,35,38,13,24,27,15,1,12,4,26,6,30,45,20,36,21,49,18,17,23,43}

    Returns: "()((()(())(((()))))())()()((())())(((()())()))(())"

  72. {37,33,44,32,6,42,3,15,1,39,16,8,31,48,30,26,35,19,38,0,21,36,46,40,12,13,7,34,47,2,17,9,20,41,45,23,10,24,18,28,14,4,27,43,29,5,22,11,25,49}

    Returns: "(())()((()(()))()()(()))((())(((()))()()(()))()())"

  73. {29,17,13,45,24,22,15,32,1,37,33,34,42,7,3,11,49,2,44,35,19,47,6,30,31,18,46,9,36,8,26,5,12,4,27,23,40,10,16,21,20,14,28,39,25,38,43,41,0,48}

    Returns: "((()((()())))((()())()())()()()((()))((((())))))()"

  74. {3,4,6,5,2,1,7,0}

    Returns: "Impossible"

  75. {26,37,27,47,11,7,8,39,34,10,17,40,18,1,23,33,45,35,30,4,42,12,13,32,9,36,3,20,5,16,6,21,43,46,15,28,38,31,24,29,22,19,41,0,2,25,14,44}

    Returns: "()()((())(()((())))()(()()(((((())())))))()(()))"

  76. {0,1}

    Returns: "()"

  77. {0,10,8,11,6,4,7,5,2,3,9,1}

    Returns: "()()(())(())"

  78. {1,0}

    Returns: "Impossible"

  79. {1,0}

    Returns: "Impossible"

  80. {34,5,19,14,21,6,15,23,0,1,29,16,2,28,36,10,3,17,11,32,37,7,35,27,22,33,25,31,39,24,30,9,38,18,13,4,12,26,20,8}

    Returns: "((((((()(()(())(((())()))))))))())((()))"

  81. {12,5,8,9,6,13,1,10,4,11,2,3,0,7}

    Returns: "(())()()()()()"

  82. {3,1,0,2}

    Returns: "Impossible"

  83. {14,8,3,7,4,13,0,2,1,9,5,6,15,12,11,10}

    Returns: "()()()((()(())))"

  84. {11,1,8,3,19,6,13,9,18,17,5,4,15,2,12,14,16,0,7,10}

    Returns: "(((()()())(()()))())"

  85. {15,1,4,23,22,21,17,19,11,18,0,10,14,2,13,8,20,3,12,5,9,6,16,7}

    Returns: "((()))()()(()()()()()())"

  86. {2,9,1,19,32,21,4,31,24,26,34,47,41,17,37,42,33,20,16,39,15,11,13,12,35,6,43,18,36,8,38,14,29,22,7,3,23,45,27,5,10,44,30,40,0,46,28,25}

    Returns: "(((()(()(()))()))(()(((()()()()())(()))(()))()))"

  87. {0,1}

    Returns: "()"

  88. {21,1,25,8,14,18,12,11,26,3,6,27,2,7,5,0,13,29,32,9,30,16,4,17,24,23,22,10,19,33,31,15,20,28}

    Returns: "(()(()(()(()((((())())())))()))())"

  89. {20,27,19,11,24,14,16,30,10,3,7,9,25,4,13,8,12,28,15,18,2,17,29,23,0,26,32,33,31,21,6,5,22,1}

    Returns: "()(()())(((()(((()()()))()))))(())"

  90. {2,5,3,4,1,0}

    Returns: "Impossible"

  91. {8,7,3,5,9,0,4,6,1,2}

    Returns: "()(()())()"

  92. {15,19,1,18,10,20,4,6,25,14,0,7,27,2,3,12,22,8,11,21,13,17,24,5,26,23,9,16}

    Returns: "()()()(())(()((()(())))())()"

  93. {16,11,7,23,6,21,19,8,4,31,27,18,29,25,28,13,12,26,10,0,2,9,20,24,15,1,14,17,3,22,30,5}

    Returns: "((()()((())()))(()(((()))())()))"

  94. {19,12,16,10,20,22,0,2,17,14,18,9,23,8,15,3,13,6,5,11,4,1,21,7}

    Returns: "(()())(()()()()())()(())"

  95. {1,2,3,0}

    Returns: "Impossible"

  96. {0,16,30,26,5,18,20,15,29,13,7,9,19,25,6,28,31,14,27,22,24,32,2,11,8,4,23,12,10,1,21,3,17,33}

    Returns: "(())(()()(((()())())))()(())(()())"

  97. {7,3,0,16,4,2,14,13,17,15,1,6,10,12,9,11,5,8}

    Returns: "((()(())))(())()()"

  98. {9,29,14,22,8,24,20,26,27,32,19,31,15,17,21,12,11,13,10,25,5,30,16,28,6,1,23,3,0,4,7,2,18,33}

    Returns: "()((()()))()(()(()()()))(()(())())"

  99. {34,2,3,0,35,7,42,45,40,18,14,19,28,26,8,5,29,41,20,6,1,36,24,16,22,15,21,10,30,27,9,23,31,12,37,4,44,11,13,17,39,25,43,38,33,32}

    Returns: "(((()()))((())(())((())()((())())()()((())))))"

  100. {3,33,24,22,4,0,25,11,7,15,20,10,9,26,18,16,13,14,1,8,27,32,6,17,12,31,30,19,5,29,21,2,28,23}

    Returns: "()()(()((()(()))(((())()()))())())"

  101. {12,27,7,29,41,49,21,6,36,10,38,35,15,0,17,3,8,18,39,24,9,11,4,22,37,43,13,34,20,1,45,25,47,42,16,19,23,30,46,31,5,40,44,48,2,28,32,33,26,14}

    Returns: "((()))(()())(((((()((((())()(())))((()))()))()))))"

  102. {19,3,7,35,25,31,24,30,11,23,2,16,33,0,32,13,8,29,21,17,34,18,22,15,5,6,27,20,26,28,10,14,9,1,12,4}

    Returns: "((()))()()(()()(())()()((())))()(())"

  103. {6,7,5,4,0,2,1,3}

    Returns: "Impossible"

  104. {6,19,20,9,2,8,21,3,23,16,7,5,14,18,0,4,1,13,15,17,12,11,22,10}

    Returns: "(()((()())(())((())))())"

  105. {4,3,8,7,5,2,1,0,6,9}

    Returns: "(())()(())"

  106. {5,8,4,25,16,12,28,13,19,15,30,3,18,7,0,14,17,20,31,21,24,26,29,9,23,6,22,10,1,2,11,27}

    Returns: "((()(()()()()(((())))))()())(())"

  107. {11,5,1,3,19,13,4,2,0,21,8,17,14,18,20,15,16,9,6,7,12,10}

    Returns: "(((()(((()()))))))(())"

  108. {15,40,46,11,33,16,25,39,8,19,36,23,12,30,44,21,48,24,43,45,2,35,28,7,4,6,49,14,20,38,3,29,1,22,37,9,34,32,5,10,26,47,0,42,18,31,41,13,27,17}

    Returns: "(()()(()(()(())()())())((()(()()())())(())()())())"

  109. {1,28,8,24,22,15,12,2,9,10,0,30,19,31,14,3,4,16,25,21,27,18,17,6,23,13,7,29,5,11,26,20}

    Returns: "()()((((((()))((())))))())()(())"

  110. {10,16,4,7,2,6,9,13,20,21,11,12,3,18,8,15,1,14,19,17,5,0}

    Returns: "Impossible"

  111. {15,11,8,1,9,13,12,0,16,14,6,5,2,7,10,3,4,17}

    Returns: "()((())())((())())"

  112. {11,10,5,14,0,7,23,15,9,20,13,17,1,8,16,21,19,6,3,2,22,4,12,18}

    Returns: "((()(())()()(())))(()())"

  113. {11,24,2,8,23,30,1,26,47,31,41,21,34,40,5,46,7,22,36,20,35,18,13,15,12,16,28,25,9,17,43,10,42,27,14,44,19,29,32,39,3,0,45,37,4,33,6,38}

    Returns: "((((()())))())()(()()((((())(()())()))))(())()()"

  114. {12, 43, 47, 34, 44, 39, 15, 2, 26, 42, 37, 13, 40, 25, 41, 35, 45, 17, 24, 4, 36, 27, 0, 18, 8, 38, 9, 29, 20, 31, 7, 30, 21, 23, 10, 28, 49, 1, 22, 32, 16, 14, 48, 46, 33, 19, 11, 3, 5, 6 }

    Returns: "(()())((())()()()()())((()()()()()())(()(())))(())"

  115. {0, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }

    Returns: "()()()()()()()()()()()()()()()()()()()()()()()()()"

  116. {2, 1, 0, 3 }

    Returns: "()()"

  117. {0, 3, 2, 1 }

    Returns: "()()"

  118. {3, 6, 5, 7, 0, 1, 2, 4 }

    Returns: "()()(())"

  119. {2, 3, 5, 4, 0, 1 }

    Returns: "(())()"

  120. {0, 2, 3, 1 }

    Returns: "(())"

  121. {4, 1, 3, 2, 0, 5 }

    Returns: "(())()"

  122. {48, 49, 46, 47, 44, 45, 42, 43, 40, 41, 38, 39, 36, 37, 34, 35, 32, 33, 30, 31, 28, 29, 26, 27, 24, 25, 22, 23, 20, 21, 18, 19, 16, 17, 14, 15, 12, 13, 10, 11, 8, 9, 6, 7, 4, 5, 2, 3, 0, 1 }

    Returns: "()()()()()()()()()()()()()()()()()()()()()()()()()"

  123. {47, 48, 49, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 0, 1, 2 }

    Returns: "Impossible"


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: