Bar Codes

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=31329#problem/N

 

#include<map>

#include<set>

#include<list>

#include<cmath>

#include<ctime>

#include<deque>

#include<stack>

#include<bitset>

#include<cstdio>

#include<vector>

#include<cstdlib>

#include<cstring>

#include<iomanip>

#include<numeric>

#include<sstream>

#include<utility>

#include<iostream>

#include<algorithm>

#include<functional>



using namespace std ;

int n , k , m ;

const int maxn = 55 ;

long long f[ maxn ][ maxn ] ;



int main()

{

	while( scanf( "%d%d%d" , &n , &k , &m ) != EOF )

	{

		memset( f , 0 , sizeof( f ) ) ;

		for( int i = 0 ; i <= n && i <= m  ; ++i )

		{

			f[ 1 ][ i ] = 1 ;

		}

		for( int i = 2 ; i <= k ; ++i )

		{

			for( int j = i ; j <= n ; ++j )

			{

				for( int k = 1 ; k <= m && j - k > 0 ; ++k )

				{

					f[ i ][ j ] += f[ i - 1][ j - k ] ;

				}

			}		

		}

		printf( "%lld\n" , f[ k ][ n ] ) ;

	}

	return 0 ;

}


 

 

你可能感兴趣的:(code)