题目描述
- 走方格
样例
输入
2 3
输出
10
从上往下
Java 代码
import java.util.Scanner;
public class Main{
static int n,m;
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
System.out.printf("%d",dfs(0,0));
}
private static int dfs(int a,int b){
if(a==n&&b==m) return 1;
if(a>n||b>m) return 0;
return dfs(a,b+1)+dfs(a+1,b);
}
}
从下往上
Java 代码
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt(),m=sc.nextInt();
System.out.printf("%d",dfs(n,m));
}
private static int dfs(int n,int m){
if(m==0&&n==0) return 1;
if(m<0||n<0) return 0;
return dfs(n,m-1)+dfs(n-1,m);
}
}