zoukankan      html  css  js  c++  java
  • hdoj1521

    Problem : 1521 ( 排列组合 )     Judge Status : Accepted
    RunId : 2856508    Language : G++    Author : huwenbiao
    Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta
    /***************************************************************\
    *Author:Hu Wenbiao
    *Created Time: Sun 22 Aug 2010 09:47:05 AM CST
    *File Name: main.cpp
    *Description:组合问题。母函数,其实已经没有了母函数的样子,倒像是一个递推
    \***************************************************************/

    //*========================*Head File*========================*\\

    #include<iostream>
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    /*----------------------*Global Variable*----------------------*/
    int
    m,n,A[
    12],B[12],C[12];
    //*=======================*Main Program*=======================*//
    using namespace std;

    int
    main(){

    //freopen("input","r",stdin);
    while(scanf("%d%d",&n,&m)!=EOF){
    for
    (int i=
    1;i<=n;i++){
    scanf(
    "%d",A+i);//物品个数
    }
    memset(B,
    0,sizeof(B));
    memset(C,
    0,sizeof(C));
    for
    (int i=
    1;i<=n;i++){//第i件物品
    for(int j=0;j<=m;j++){//总个数,指数
    if(j!=0&&B[j]==0)//当B[j]是0时,表示没这种排列,于是便不能
    //在此基础上再往下构建新排列了,当然j==0时是初始状态,应当放行。
    continue;
    for
    (int k=
    1;k<=A[i]&&j+k<=m;k++){//添加的物品个数,(也可以从0开始,下面是赋值)
    int method=1;//能构建的排列数
    for(int s=1;s<=k;s++){
    method*=(j+s);
    method/=s;
    }

    if
    (j)
    C[j+k]+=method*B[j];
    //每一种能构建method种,共有method*B[j]
    else//j==0时是特例
    C[j+k]+=method;
    }
    }

    for
    (int j=
    0;j<=m;j++){
    B[j]+=C[j];
    //此处不是赋值,要加上去(如果上面从0开始,这里就是赋值)
    C[j]=0;
    }
    }

    printf(
    "%d\n",B[m]);
    }
    }
  • 相关阅读:
    css3 文本超出后出现省略号
    Bootstrap 开关(switch)控件需要注意的问题
    angularJs 使用中遇到的问题小结【一:关于传参】
    ctrl+enter提交留言
    div a块状布局
    模态框 快速选定合适的布局
    ionic 项目分享No.2——简化版【转】
    jquery判断div是否显示或者隐藏
    phpsotrm 设置命名空间
    win10 cmd 替换 powershell
  • 原文地址:https://www.cnblogs.com/Open_Source/p/1904883.html
Copyright © 2011-2022 走看看