题意

构造一个长度为2*n的合法括号序列,最大的嵌套深度是r。

思路

考虑先把最大嵌套深度的合法括号构造出来,即放r个左括号,再放r个右括号,最后用单个括号补全到2n的长度

Go代码

package main

import "fmt"

func main() {
	var n, r int
	fmt.Scan(&n, &r)
	for i := 0; i < r; i++ {
		fmt.Print("(")
	}
	for i := 0; i < r; i++ {
		fmt.Print(")")
	}
	for i := 2*r + 1; i <= 2*n; i+=2 {
		fmt.Print("()")
	}
}