n x m 个棋盘的走法

import java.util.Scanner;

public class DP {

  public static void main(String[] args) {

   Scanner scanner = new Scanner(System.in);

   while(scanner.hasNext()){

   int n = scanner.nextInt();

   int m = scanner.nextInt();

   //排列组合法 

   int top = factorial(n+m);

   int behind = factorial(n)*factorial(m);

   int count =top/behind;

   System.out.println(count);

   

   //动态规划法 

/*  int [][] dp = new int [n+1][m+1];

   for(int i=0;i<=m;i++){

   dp[0][i]=1;

   }

   for(int j =0;j<=n;j++){

   dp[j][0]=1;

   }

   for(int i=1;i<=n;i++){

   for(int j=1;j<=m;j++){

  dp[i][j]=dp[i-1][j]+dp[i][j-1]; 

   }

   

   }

   System.out.println(dp[n][m]);*/

   }

   

 }

  

  public static int factorial(int n){

int sum = 1;

for(int i =1;i<=n;i++){

sum*=i;

}

  

return sum;  

  }

  

}

    原文作者:骑士周游问题
    原文地址: https://blog.csdn.net/zhaokunhnu/article/details/79817711
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞