Wednesday, September 16, 2015

UVa 10721 - Bar Codes

// UVa 10721 - Bar Codes

#include <iostream>
#include <string.h>
using namespace std;

#define datatype unsigned long long int

int main() {
	int nn, kk, mm;
	while (cin >> nn >> kk >> mm) {

		datatype T[51][51][51];
		memset(T, 0, sizeof(T));
		for (int m = 1; m <= mm; m++)
			T[0][0][m] = 1;

		for (int n = 1; n <= nn; n++)
			for (int k = 1; k <= kk; k++)
				for (int m = 1; m <= mm; m++)
					for (int i = 1; i <= min(n, m); i++)
						T[n][k][m] += T[n - i][k - 1][m];

		cout << T[nn][kk][mm] << endl;
	}

	return 0;
}

No comments:

Post a Comment