【(本科组)第十一届蓝桥杯省模拟赛答案】由1对括号,可以组成一种合法括号序列:()。 由2对括号,可以组成两种合法括号序列:()()、(())。 由4对括号组成的合法括号序列一共有多少种?

题目

问题描述
由1对括号,可以组成一种合法括号序列:()。
由2对括号,可以组成两种合法括号序列:()()、(())。
由4对括号组成的合法括号序列一共有多少种?

答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

答案

14

题解

手算

这是一个填空题,只需要填写答案即可。
这里深度为1的序列有一种为:()()()(),
深度为2的有7种:(())()()、()(())()、()()(())、(()()())、(()())()、()(()())、(())(()),
深度为3的有5种:((()))()、()((()))、((())())、(()(()))、((()())),
深度为4的有1种:(((()))),
所以答案为14。

代码

public class LegalBrackets {
    public static int count = 0, n = 4;
    public static void main(String[] args) {
        f(0, 0);
        System.out.println(count);
    }

    public static void f(int left, int right) {
        if (left == n) {
            count++;
            return;
        }

        f(left + 1, right);
        if (left > right) {
            f(left, right + 1);
        }
    }
}
posted @ 2020-04-18 08:56  爱做梦的子浩  阅读(930)  评论(0编辑  收藏  举报