最新出炉-阿里 2020届算法工程师-自然语言处理(实习生)以及补充:快递最短路径

在这里插入图片描述
在这里插入图片描述
问题2感觉跟下面的分苹果类似;
问题 G: 分梨
题目描述
zzq非常喜欢吃梨,有一天他得到了ACMCLUB送给他的一筐梨子。由于他比较仗义,就打算把梨子分给好朋友们吃。现在他要把M个梨子放到N个盘子里面(我们允许有的盘子为空),你能告诉zzq有多少种分法吗?(请注意,例如有三个盘子,我们将5,1,1和1,1,5,视为同一种分法)

输入
输入包含多组测试样例。每组输入的第一行是一个整数t。
接下来t行,每行输入两个整数M和N,代表有M个梨和N个盘子。(M和N均大于等于0)

输出
对于每对输入的M和N,输出有多少种方法。

样例输入
1
7 3
样例输出
8
题意概括:就是讲M个梨子放入N个盘子中,可以有空盘存在,输出其放法总数。

解题思路:当M<N时就是盘子数目多于梨子数目,这样的话放法就等于M个梨放进M个盘子中,这个不难理解,

就是f(m,n)=f(m,m),然后特殊情况就是1个盘子0个梨子的时候只能返回1,因为只有一个盘子的时候情况

说明结束,就会跳出这次情况考虑了,然后对于其他任意情况,就相当于相当于N个梨子放入N个盘子中,然

后再加上M-N个梨子放入N个盘子中的情况就可以了。
在这里插入图片描述
补充:

问题描述
某物流派送员p,需要给a、b、c、d4个快递点派送包裹,请问派送员需要选择什么的路线,才能完成最短路程的派送。假设如图派送员的起点坐标(0,0),派送路线只能沿着图中的方格边行驶,每个小格都是正方形,且边长为1,如p到d的距离就是4。随机输入n个派送点坐标,求输出最短派送路线值(从起点开始完成n个点派送并回到起始点的距离)。

解决方法:使用排列方法,将所有排列搞出来,计算最短路径

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/stay_foolish12/article/details/89257887