藍橋杯-算法訓練-未名湖邊的煩惱(java)

因爲m和n的取值範圍是0-18,所以我就直接dfs了

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        int n = scanner.nextInt();
        scanner.close();

        System.out.println(getResult(0, m, n));
    }


    private static int getResult(int remain, int ret, int bor) {
        if(remain < 0 || ret < 0 || bor < 0)
            return 0;

        if(ret == 0 && bor == 0){
            return 1;
        }

        int n1 = getResult(remain - 1, ret, bor - 1);
        int n2 = getResult(remain + 1, ret - 1, bor);

        return n1 + n2;
    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章