Do you wanna build a wall?
在离跳蚤国很远的地方有一个蛐蛐国,最近蛐蛐国选出了一位新的领导人。
这位领导人上任之后做的第一件事,就是在蛐蛐国和它的一个邻国 —— 蝈蝈国之间修一堵围墙。
围墙可以看成是一个长度为 n n n 的括号序列,与此同时还有一个长度为 n n n 的排列 P P P,一个围墙被称为稳的,当且仅当:
- 这个括号序列是合法的;
- 构造一张 n n n 个点的图,当且仅当第 i i i 个位置是左括号时,点 i i i 向点 Pi P_i Pi 连边,最后形成的图必须满足每个点的度数均为一。
保证对于任意 i i i 有 i≠Pi i \neq P_i i≠Pi。
一个括号序列合法的定义如下:
- 空序列是合法的;
- 如果 A A A 是合法的,那么 (A) 也是合法的;
- 如果 A A A 和 B B B 都是合法的,那么 AB AB AB 也是合法的。
例如 ()()((()())) 是合法的,而 ())(() 不是。
现在蛐蛐国的领导人想知道一种合法的修墙方案。