zoukankan      html  css  js  c++  java
  • 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)

    注意边界的处理

  • 相关阅读:
    Html中列表显示
    Html中图片参数
    Html如何加入图片或超链接
    html常用标签
    mysql 几个坑
    现有.NET 开源框架浅析
    winform 界面加载慢原因分析
    FineUI 框架,RIA 富客户端应用的选择
    Hadoop Default Port
    docker issue
  • 原文地址:https://www.cnblogs.com/ToTOrz/p/6158301.html
Copyright © 2011-2022 走看看