zoukankan      html  css  js  c++  java
  • POJ-放苹果(DP)

    放苹果
    Time Limit: 1000MS Memory Limit: 10000K
    Total Submissions: 29074 Accepted: 18376
    Description

    把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
    Input

    第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。
    Output

    对输入的每组数据M和N,用一行输出相应的K。
    Sample Input

    1
    7 3
    Sample Output

    8

    这道题目有很多解法。dp的状态转移方程很难想到
    dp[i][j]表示把i个苹果放到j个盘子里的方案书
    if(i

    #include <iostream>
    #include <algorithm>
    #include <string.h>
    #include <stdlib.h>
    #include <math.h>
    #include <stdio.h>
    
    using namespace std;
    int dp[15][15];
    int n,m;
    void fun()
    {
    
        for(int i=1;i<=11;i++)
        {
            dp[i][1]=1;
            //dp[i][0]=0;
           for(int j=1;j<=11;j++)
           {
               dp[0][j]=1;
               if(i<j)
                dp[i][j]=dp[i][j-1];
               else
                dp[i][j]=dp[i][j-1]+dp[i-j][j];
           }
        }
    }
    int main()
    {
        memset(dp,0,sizeof(dp));
        fun();
        int t;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d%d",&n,&m);
    
            printf("%d
    ",dp[n][m]);
        }
    }
  • 相关阅读:
    Regular Expression Matching
    Palindrome Number
    String to Integer (atoi)
    Reverse Integer
    ZigZag Conversion
    Longest Palindromic Substring
    Add Two Numbers
    git 操作原理
    ES6学习之路2----变量的解构赋值
    ES6学习之路1----变量的声明
  • 原文地址:https://www.cnblogs.com/dacc123/p/8228838.html
Copyright © 2011-2022 走看看