zoukankan      html  css  js  c++  java
  • hdu 1521(标准的指数型母函数)

    题意:就是求排列数,易理解~

    分析:这是一道标准的指数型母函数题目,只要是知道如何避免重复的问题,那就是除以阶乘,这个在高中的时候排列组合中已经学到过,不过这个题目还是要注意下精度问题,开始的时候我是没注意好,导致一直错。建议看下这个资料:http://www.wutianqi.com/?p=2644,讲得还好~

    代码实现:

    #include<stdio.h>
    #include<string.h>
    double a[15];
    void shezhi()
    {
        int i;
        a[0]=a[1]=1;
        for(i=2;i<=10;i++)
            a[i]=a[i-1]*i;
    }
    int main()
    {
        int i,j,k,n,m,num[15];
        double c1[15],c2[15];
        shezhi();
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            for(i=1;i<=n;i++)
                scanf("%d",&num[i]);
            for(i=0;i<=10;i++)
            {
                c1[i]=0.0;
                c2[i]=0.0;
            }
            for(i=0;i<=num[1];i++)
            {
                c1[i]=1.0/a[i];
            }
            for(i=2;i<=n;i++)
            {
                for(j=0;j<=m;j++)
                {
                    for(k=0;k<=num[i]&&j+k<=m;k++)
                    {
                        c2[j+k]=c2[j+k]+c1[j]/a[k];
                    }
                }
                for(j=0;j<=m;j++)
                {
                    c1[j]=c2[j];
                    c2[j]=0;
                }
            }
            printf("%.0lf\n",c1[m]*a[m]);
        }
        return 0;
    }
  • 相关阅读:
    书_Delphi
    20160226
    SVG_style_script
    辅助
    电影_Z
    Windows下软件调试
    20160221
    Qt5.3.2_vs10_发布时所需DLL的路径
    android intent 传数据
    android 消息机制
  • 原文地址:https://www.cnblogs.com/jiangjing/p/3024984.html
Copyright © 2011-2022 走看看