爱学习的站长www.mmic.net.cn

www.mmic.net.cn 欢迎学习共同成长
Bulletin
www.mmic.net.cn 欢迎学习共同成长
Article Categories
Article
组合问题 contest4 的问题
2011/8/3 23:59:53

Description

有n 种颜色的球,每种颜色的球的个数有任意多个,从中取m个,问有多少种取法

Input

每行2个正整数 n,m(<=31) ,n=0,m=0结束. 

Output

输出有多少种取法

Sample Input

2 2 3 3 0 0

Sample Output

3 10
#include<stdio.h>
long long m1[40],m2[40],n,m;
void gf( )
{
for( long long i = 0; i < 40; ++i )
m1[i]
= 0,m2[i] = 0;m1[0] = 1;
for( long long i = 1; i <= n; ++i )
{
long long j;
for( j = 0; j <= m;++j )
for( long long k = 0; k + j <= m; k += 1 )
m2[j
+k] += m1[j];
for( j = 0; j <= m; ++j )
m1[j]
= m2[j],m2[j] = 0;
}
}
int main( )
{
while( scanf( "%ld%ld",&n,&m ) ,n |m )
{
gf( );
if( m == 0 || n == 0 )
puts(
"0" );
else
printf(
"%ld\n",m1[m] );
}
return 0;
}
/**************************************************************
    Problem: 1574
    User: HUT_TEAM1
    Language: C++
    Result: Accepted
    Time:4 ms
    Memory:888 kb
****************************************************************/

引自:ic买卖

新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"
 技术   Browse(3258)   Comment(3)   Tag
游客[注册][222.240.156.*] : 2011/8/4 11:57:13
ssssss
游客[注册][222.240.156.*] : 2011/8/4 11:56:46
fff
游客[注册][222.240.156.*] : 2011/8/4 11:56:28
sss
:Register
  
Copyright © 2010-2020 power by CYQ.Blog - Autumn v2.0 All Rights Reserved