• HDOJ 2079 选课时间(母函数)


    选课时间(题目已修改,注意读题)

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 2137    Accepted Submission(s): 1699


    Problem Description
    又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合。你来帮帮他吧。(xhd认为一样学分的课没区别)
     
    Input
    输入数据的第一行是一个数据T,表示有T组数据。
    每组数据的第一行是两个整数n(1 <= n <= 40),k(1 <= k <= 8)。
    接着有k行,每行有两个整数a(1 <= a <= 8),b(1 <= b <= 10),表示学分为a的课有b门。
     
    Output
    对于每组输入数据,输出一个整数,表示学n个学分的组合数。
     
    Sample Input
    2
    2 2
    1 2
    2 1
    40 8
    1 1
    2 2
    3 2
    4 2
    5 8
    6 9
    7 6
    8 8
     
    Sample Output
    2
    445
     
    Author
    xhd
     
    Source
     
    Recommend
    lcy
     
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 
     5 using namespace std;
     6 
     7 int a[50],b[50];
     8 int c1[50],c2[50];
     9 
    10 int main()
    11 {
    12     int T;
    13     scanf("%d",&T);
    14 while(T--)
    15 {
    16     int n,m;
    17 
    18     scanf("%d%d",&m,&n);
    19 
    20     memset(a,0,sizeof(a));
    21     memset(b,0,sizeof(b));
    22     memset(c1,0,sizeof(c1));
    23     memset(c2,0,sizeof(c2));
    24 
    25     for(int i=1;i<=n;i++)
    26     {
    27         scanf("%d%d",&a[i],&b[i]);
    28     }
    29 
    30     for(int i=0,s=0;s<=b[1];i+=a[1],s++)
    31     {
    32         c1[i]=1;
    33     }
    34 
    35     for(int i=2;i<=n;i++)
    36     {
    37         for(int j=0;j<=m;j++)
    38         {
    39             for(int k=0,s=0;k+j<=m&&s<=b[i];k+=a[i],s++)
    40                 c2[k+j]+=c1[j];
    41         }
    42 
    43         for(int j=0;j<=m;j++)
    44         {
    45             c1[j]=c2[j];
    46             c2[j]=0;
    47         }
    48     }
    49 
    50     printf("%d
    ",c1[m]);
    51 
    52 }
    53     return 0;
    54 }
  • 相关阅读:
    自动化测试全聚合
    选择排序(JAVA实现)
    插入排序(JAVA实现)
    冒泡排序(JAVA实现)
    快速排序(java实现)
    Python+页面元素高亮源码实例
    (原创)Python 自动化测试框架详解
    Python+requests库 POST接口图片上传
    基于Python + requests 的web接口自动化测试框架
    python 创建mysql数据库
  • 原文地址:https://www.cnblogs.com/CKboss/p/3165217.html
Copyright © 2020-2023  润新知