• hdu 1085 母函数初步


    1. #include<iostream>
    2. using namespace std;
    3. #define max 10010
    4. int c1[max],c2[max]; //c1存结果,c2存临时处理数据
    5. //Y=(1+x+x^2+x^3+x^4…+x^n1*1)*(1+x^2+x^4+x^6…x^n2*2)*(1+x^5+x^10+…x^n3*5)
    6. int main()
    7. {
    8. int num[3];
    9. int val[] = {1, 2, 5};
    10. while( scanf("%d%d%d", &num[0], &num[1], &num[2])!=EOF && (num[0]+num[1]+num[2]) )
    11. {
    12. int n = num[0]*1+num[1]*2+num[2]*5; //n为x的指数,代表最后所有的硬币的总价值
    13. memset(c1, 0, sizeof(c1) );
    14. memset(c2, 0, sizeof(c2) );
    15. for(int i=0; i<=num[0]; i+=val[0]) //第一个括号内的每个项项数初始化为1
    16. {
    17. c1[i]= 1;
    18. }
    19. for(int i=1; i<=2; i++) //第i个括号
    20. {
    21. for(int j=0; j<=n; j++) //括号内第j项
    22. for(int k=0; k+j<=n && k<=num[i]*val[i]; k+=val[i]) //第j项的指数
    23. c2[j+k] +=c1[j];
    24. for(int i=0; i<=n; i++) //每两个括号内相乘,将值赋给c1
    25. {c1[i] = c2[i]; c2[i]=0;}
    26. }
    27. for(int i=0; i<=n+1; i++) //注意是到n+1, 因为有可能前n个都可以,n+1个事超过了说给金币的全数量和
    28. if(c1[i] == 0)
    29. {printf("%d ", i); break;}
    30. }
    31. return 0;
    32. }
    33. /*
    34. Given some Chinese Coins (硬币) (three kinds-- 1, 2, 5), and their number is num_1, num_2 and num_5 respectively, please output the minimum value that you cannot pay with given coins.”
    35. You, super ACMer, should solve the problem easily, and don’t forget to take $25000000 from Bush!
    36. Input
    37. Input contains multiple test cases. Each test case contains 3 positive integers num_1, num_2 and num_5 (0<=num_i<=1000). A test case containing 0 0 0 terminates the input and this test case is not to be processed.
    38. Output
    39. Output the minimum positive value that one cannot pay with given coins, one line for one case.
    40. Sample Input
    41. 1 1 3
    42. 0 0 0
    43. Sample Output
    44. 4
    45. */





    附件列表

    • 相关阅读:
      Fatal error: Maximum execution time of 30 seconds exceeded in
      常见变量命名规则
      Rust使用国内镜像安装依赖
      flutter使用国内镜像源
      7个每天晚上应该坚持的好习惯
      网络数据传输格式的思考
      Deepin安装 ruby 包管理工具 RVM(适用于 Debian 系列)
      C语言数据类型关键字
      win10 powershell禁止运行脚本解决
      Linux 查看系统相关信息(系统发型版本及内核版本等)
    • 原文地址:https://www.cnblogs.com/sober-reflection/p/06080d2dcbce873ab3c6715842db37e4.html
    Copyright © 2020-2023  润新知