2022-6-15 真题练习

MT12 网格走法数目
 
warning 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。

描述

有一个 X*Y 的网格,小团要在此网格上从左上角到右下角,只能走格点(也即格子的顶点)且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数 int x , int y ,请返回小团的走法数目。
 
数据范围: 1 \le x,y \le 10 \1x,y10 

输入描述:

输入包括一行,逗号隔开的两个正整数x和y,取值范围[1,10]。

输出描述:

输出包括一行,为走法的数目。
 1 import java.util.*;
 2 public class Main{
 3     public static void main(String[] args){
 4         Scanner sc=new Scanner(System.in);
 5         int x=sc.nextInt();
 6         int y=sc.nextInt();
 7         int[][] dp=new int[x+1][y+1];
 8         for (int i=0;i<=x;i++){
 9             for (int j=0;j<=y;j++){
10                 if (i==0||j==0){
11                     dp[i][j]=1;
12                     continue;
13                 }
14                 dp[i][j]=dp[i-1][j]+dp[i][j-1];
15             }
16         }
17         System.out.println(dp[x][y]);
18     }
19 }

思路:动态规划,当前值为左边和上边的和。

posted on 2022-06-15 11:26  阿ming  阅读(28)  评论(0编辑  收藏  举报

导航