• XidianOJ 1183 Water Problem: Items divided


    题目描述

    Youyouyouyou is very interested in math, one day, an idea came into his mind that how many ways he can patition n same things into no more than m groups? he think it too hard for him, so youyouyouyou ask wise cyt for help, but wise cyt don’t want to talk with youyouyouyou because it is too easy for him, now can you help youyouyouyou solve this problem?

    输入

    multi test cases, two integers n and m(1<=m<=n<=1000) , end with n = m = 0.

    输出

    output

    #include <cstdio>
    #include <algorithm>
    #include <iostream>
    using namespace std;
    #define MOD 1000000007
    typedef long long LL;
    LL f[1001][1001] = {0},ans[1001][1001] = {0};
    int main(){
        int n,m,i,j;
        for (i=1;i<=1000;i++){
            f[i][0] = 0;
            f[i][1] = 1;
            f[i][i] = 1;
            f[0][i] = 0;
        }
        for (i=1;i<=1000;i++){
            for (j=1;j<=i;j++){
                if (i == j) f[i][j] = 1;
                else 
                    f[i][j] = (f[i-1][j-1] + f[i-j][j]) % MOD;
            }
        }
        for (i=1;i<=1000;i++){
            ans[i][1] = f[i][1];
            for (j=2;j<=i;j++){
                ans[i][j] = (ans[i][j-1] + f[i][j]) % MOD;
            }
        }
        while (scanf("%d %d",&n,&m) != EOF){
            if (n == 0 && m == 0) break;
    //        LL res = 0;
    //        for (i=1;i<=m;i++){
    //            res = (res + f[n][i]) % MOD;
    //        }
    //        printf("%lld
    ",res);
            printf("%lld
    ",ans[n][m]);
        }
        return 0;
    } 

    an answer modulo 1e9 + 7 per line

    --正文

    n个相同的球放入m个相同的盒子,允许有空盒

      F(n,m) = F(n-1,m-1) + F(n-m,m)

    注意边界的处理

  • 相关阅读:
    ASP.NET 文件下载
    Asp.net 加密解密类
    ASP.Net 获取服务器信息
    Visual Studio 2013 和 ASP.NET 预览
    Windows Server 2012安装时所需要的KEY
    WordPress主题模板层次和常用模板函数
    小meta的大作用
    《淘宝技术这十年》之LAMP架构的网站
    面试题(八)
    面试题(七)
  • 原文地址:https://www.cnblogs.com/ToTOrz/p/6158301.html
Copyright © 2020-2023  润新知