Pagini recente » Cod sursa (job #2097158) | Cod sursa (job #2016529) | Cod sursa (job #1880343) | Cod sursa (job #2019649) | Cod sursa (job #35043)
Cod sursa(job #35043)
#include <cstdio>
#include <memory>
using namespace std;
const char iname[] = "diamant.in";
const char oname[] = "diamant.out";
#define lim 44505
#define inf - 44101
#define sup 44101
#define modulo 10000
#define MAX_V 1 << 17
int A[MAX_V];
#define A (A + lim)
int B[MAX_V];
#define B (B + lim)
int main(void)
{
freopen(iname, "r", stdin);
int N;
int M;
int X;
scanf("%d %d %d", & N, & M, & X);
freopen(oname, "w", stdout);
if (X > sup) {
printf("0\n");
return 0;
}
A[0] = 1;
for (int i = 1; i <= N; ++i) {
for (int j = 1; j <= M; ++j)
{
for (int k = inf; k < sup; ++k)
B[k] = (A[k - (i * j)] + A[k] + A[k + (i * j)]) % modulo;
memcpy(A, B, sizeof(B));
}
}
printf("%d\n", A[X]);
return 0;
}