Pagini recente » Cod sursa (job #257853) | Cod sursa (job #160133) | Cod sursa (job #2851644) | Cod sursa (job #1697705) | Cod sursa (job #53869)
Cod sursa(job #53869)
using namespace std;
#include <cstdio>
#include <cstring>
#define FIN "diamant.in"
#define FOUT "diamant.out"
#define MAX_N 32
#define MAX_M 32
int N, M, X, S;
int T[2][1<<18], v[MAX_N*MAX_M];
#define t(i, j) T[(i)&1][j+9000]
int main()
{
int i, j, k, p, d;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d %d %d", &N, &M, &X);
S = (N*M)*(N*M+1)/2;
if (X < -S || X > S) {
printf("0\n");
return 0;
}
t(0, 0) = 1;
for (p = i = 1; i <= N; ++i)
for (j = 1; j <= M; ++j, ++p) {
memset(T[p&1], 0, sizeof(T[0]));
for (d = i*j, k = -S; k <= S; ++k)
t(p, k) = (t(p-1, k-d)+t(p-1, k)+t(p-1, k+d))%10000;
}
printf("%d\n", t(N*M, X));
return 0;
}