路径几何 JAVA
输入样例1:
空格分隔的两个正整数,代表方格的行,列数。
2 3
结尾无空行
输出样例1:
计算并输出到达右下角的不同的路径总数。 共有三种方案:
1:右,右,下。 2:右,下,右。 3:下,右,右。
3
结尾无空行
输入样例2:
空格分隔的两个正整数,代表方格的行,列数。
3 7
结尾无空行
输出样例2:
计算并输出到达右下角的不同的路径总数。
28
结尾无空行
经典动态规划题,也可以用排列组合
代码区://这个代码可以进一步优化
i = 行,j = 列,s = 总路径
状态转移方程:
s[i][j] = 1 当 i 或 j 为0时
s[i][j] = s[i - 1][j] + s[i][j - 1] 当 i > 0 并且 j > 0时
1 import java.util.Scanner; 2 public class test7 { 3 public static void main(String[] args) { 4 Scanner scan = new Scanner(System.in); 5 int n = scan.nextInt(); 6 int m = scan.nextInt(); 7 Tools tool = new Tools(); 8 tool.s(m, n); 9 scan.close(); 10 } 11 } 12 class Tools{ 13 public void s(int m,int n) { 14 int[][] dp = new int[m][n]; 15 for(int i = 0;i < m;i++) {//代表第i行 16 for(int j = 0;j < n;j++) {//代表第j列 17 if(i == 0 || j == 0 ) dp[i][j] = 1; 18 //因为只能向右走或者向左走, 19 //所以第0行和第0列的每个格都只有一条路线 20 else dp[i][j] = dp[i - 1][j] + dp[i][j - 1]; 21 //上方格子和左侧格子的总路线的和即为当前位置的路径量 22 } 23 } 24 System.out.print(dp[m - 1][n - 1]); 25 } 26 }

浙公网安备 33010602011771号