因爲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;
}
}