递归-来路倒推
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int m = sc.nextInt();
Main am = new Main();
int count = am.count(m, n);
System.out.println(count);
}
}
/*
路径规划
每个当前点位的上一步都面临着两种选择,先向下过来的还是先向右过来的
*/
public int count(int m, int n){
if (m == 0 && n == 0){
return 1;
}else if (m > 0 && n == 0){
return count(m - 1, n);
}else if (n > 0 && m == 0){
return count(m, n - 1);
}else if (m > 0 && n > 0) {
return count(m - 1, n) + count(m, n - 1);
}
return count(m - 1, n) + count(m, n - 1);
}
}