华为OJ:2041 放苹果

华为OJ:2041 放苹果

大家好,又见面了,我是全栈君。

这道题难点不在于代码怎么写,而是思路怎么想。

感觉一般这样的题要么你理好一个思路要么你最后总结出一个公式,要么你自己模拟它的运作方式,用迭代,或者递归的方式来做。

有点像我们曾经学的排列组合。

对于m个苹果。n个盘子f(m,n)。假设苹果个数比盘子少,那么就跟n个盘子,n个苹果是一样的f(n,n)。假设m比n大。那么有两种情况,一种有空盘子的情况。一种没有空盘子的情况,两种情况不重叠且加一起一定为情况总数。

第一种情况就即为n个盘子放在m-1个盘子里,由于至少有个空盘子。

f(m。n-1),另外一种情况下,每一个盘子都有一个苹果了,就相当于f(m-n,n),m扣掉n个苹果再放到n个盘子里。得到递归式f(m,n)=f(m,n-1)+f(m-n,n)。

import java.util.Scanner;
public class MNAPPPLE {
	public static int fways(int m,int n){
		if(m==0||n==1)return 1;
		if(m<n)return fways(m,m);
		else return fways(m,n-1)+fways(m-n,n);
	}
	
	public static void main(String args[]){
		Scanner input=new Scanner(System.in);
		int m=input.nextInt();
		int n=input.nextInt();
		System.out.println(fways(m,n));
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115697.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python将数字转换成字符串_python字符串去重

    python将数字转换成字符串_python字符串去重int(x[,base])将x转换为一个整数long(x[,base])将x转换为一个长整数float(x)将x转换到一个浮点数complex(real[,imag])创建一个复数str(x)将对象x转换为字符串repr(x)将对象x转换为表达式字符…

    2022年10月12日
    2
  • HTTP500内部服务器错误_服务器内部错误500

    HTTP500内部服务器错误_服务器内部错误500解决运行.asp出现“http500内部服务器错误”及“数据库连接出错,请检查Conn.asp文件中的数据库参数设置。”问题经过N久的尝试,终于解决了winXP不能运行.asp的问题了…..1、运行.asp出现“http500内部服务器错误”出现这个问题的主要原因是因为MSDTC启动失败,解决方法:[1]:检查你的DTC服务(全…

    2022年8月11日
    5
  • checkbox选中和不选中 jqu_jquery checkbox 选中不选中「建议收藏」

    checkbox选中和不选中 jqu_jquery checkbox 选中不选中「建议收藏」展开全部$(function(){//动态绑定默认状态//$(“#ck”).attr(“checked”,true)//选中//$(“#ck”).attr(“checked”,false)//未选中//点击判断选中还是未选中$(“#ck”).click(function(){if($(this).is(“:checked”)){alert(“选中”);}else{alert…

    2022年6月30日
    21
  • 普通最小二乘法的推导证明

    普通最小二乘法的推导证明最小二乘法1、什么是最小二乘思想?​简单地说,最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小.这里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。从这个上也可以看出,最小二乘也可用于拟合数据模型。2.最小二乘法推导​我们以最简单的一元线性

    2022年5月17日
    36
  • 数据库:实体关系图(ER图)「建议收藏」

    数据库:实体关系图(ER图)「建议收藏」1,组成元素元素 描述 表示形似 实体 客观存在并可以相互区别的事物 用矩形框,矩形框内写明实体名 属性 实体所具有的一个属性 用椭圆型表示,并用无向边将其与相应的实体连接起来 关系 实体和实体之间以及实体内部的关系 用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来, 同时在无向边旁边标上联系的类型 2,关系详解一,一对一一对一关系是指对于实体集A与实体集B,A中的每一个实体至多与B中

    2022年6月21日
    96
  • Hive实现oracle的Minus函数[通俗易懂]

    Hive实现oracle的Minus函数

    2022年1月26日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号