机器人路径规划
题目内容:
一个机器人只能向下和向右移动,每次只能移动一步,设计一个算法求机器人从(0,0)到(m,n)有多少条路径。
输入格式:
以空格分开m,n
输出格式:
路径条数
输入样例:
4 5
输出样例:
35
这个题还是蛮简单的,不过需要注意的一点是这个题目有点问题,它题目给出的(m,n)在数组里是指[m-1][n-1],不信的你可以自己在纸上演算一下,确实是题目这里没有说清楚。因为我们第一眼都会认为是类似于坐标系一样的,也就是从数组的[0][0]到[m][n]。我第一次运行程序的时还惊了一下,想着这么简单的题还能写错,后来动笔算了一下才发现是题目的问题(NMD。。。)。其他的也不说了,毕竟我的代码一般需要解释的地方都有注释。
具体实现代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
int x=input.nextInt()+1;
int y=input.nextInt()+1;
print(x,y);
}
public static void print(int x,int y)
{
int L[][]=new int [x][y];
//进行初始化//可以不用这样设定,但是我个人习惯上将边界定为0
for(int i=0;i<x;i++)
{
L[i][0]=0;
}
for(int i=0;i<y;i++)
{
L[0][i]=0;
}
for(int i=1;i<x;i++)
{
for(int j=1;j<y;j++)
{
L[i][j]=1;
}
}
//
for(int i=2;i<x;i++)
{
for(int j=2;j<y;j++)
{
L[i][j]=L[i-1][j]+L[i][j-1];//中间部分到每个点都有两条路可走
}
}
System.out.print(L[x-1][y-1]);
}
}
版权声明:本文为yingYing_monster原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。