zoukankan      html  css  js  c++  java
  • hdu 2082 找单词

    http://acm.hdu.edu.cn/showproblem.php?pid=2082

     一开始看题目很纠结,不知道如何入手,没想到母函数作用好广啊,排列组合方面也可以使用母函数解决,若有不清楚,请看母函数的解说,相信一看你就可以理解了,不过可以用母函数的一般都可以用背包,以下的是母函数的代码:

    #include <stdio.h>

    #include <string.h>

    #include <stdlib.h>

    #include <math.h>

    int m[28],c1[100],c2[100];

    void mhs()

    {

         c1[0]=1;//一个入口

         for(int i=1;i<=26;++i)//从第一个括号开始算

         {

                 for(int j=0;j<=50;++j)

                 for(int k=0;k<=m[i]&&k*i+j<=50;++k)

                 {

                      c2[k*i+j]+=c1[j];   

                 }

                 for(int j=0;j<100;++j)

                 {

                         c1[j]=c2[j];

                         c2[j]=0;

                 }

         }

    }

    int main()

    {

        int n;

        scanf("%d",&n);

        while(n--)

        {

                  for(int i=0;i<100;++i)

                  {

                          c1[i]=c2[i]=0;

                  }

                  int sum=0;

                  for(int i=1;i<=26;++i)

                  scanf("%d",&m[i]);

                  mhs();

                  for(int i=1;i<=50;++i)

                  sum+=c1[i];

                  printf("%d\n",sum);

        }

       // system("pause");

        return 0;

    }

  • 相关阅读:
    odoo权限
    odoo开发bug记录
    odoo视图
    odoo13线上发布
    odoo开发环境搭建
    request
    urllib
    b站排行榜-爬虫
    DockerFile
    Docker基本操作
  • 原文地址:https://www.cnblogs.com/yuelingzhi/p/2130065.html
Copyright © 2011-2022 走看看