zoukankan      html  css  js  c++  java
  • poj 1664:放苹果

    描述:

    把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出对输入的每组数据M和N,用一行输出相应的K。

    样例输入:

    1
    7 3
    

    样例输出:

    8

     1 package 程序设计及在线实践;
     2 
     3 import java.util.Scanner;
     4 
     5 public class 放苹果
     6 {
     7     public static void main(String[] args) {
     8         Scanner in = new Scanner(System.in);
     9         int t = in.nextInt();
    10         for(int i = 0;i< t;i++)
    11         {
    12             int m = in.nextInt();
    13             int n = in.nextInt();
    14             System.out.println(func(m,n));
    15         }
    16         in.close();
    17     }    
    18     private static int func(int m, int n) 
    19     {
    20         if(n == 1 || m==0)
    21             return 1;
    22         else if(m>=n)
    23             return func(m,n-1)+func(m-n,n);//一种情况下一个盘子空,另一种情况下每个盘子都有
    24         else
    25             return func(m,m);//这个地方不能是 func(m,n-1)哦
    26     }
    27 }
  • 相关阅读:
    RecycleView的万能适配器
    Android Fragment
    BottomNavigationBar底部导航条用法
    Bundle的用法
    登录页面(动态地与数据库匹配用户信息)
    LitePal用法详解
    BaseAdapter的优化
    Bmob使用心得
    字符串格式化
    元素NULL判断
  • 原文地址:https://www.cnblogs.com/danscarlett/p/5651477.html
Copyright © 2011-2022 走看看