Pagini recente » Cod sursa (job #1751426) | Cod sursa (job #2181522) | Cod sursa (job #2923402) | Cod sursa (job #1362841) | Cod sursa (job #1445737)
#include <cstdio>
#include <algorithm>
#include <cstring>
#define Nmax 22
#define Smax 160000
#define mod 10000
using namespace std;
int n, m, x, i, j, k, sum;
int s[Smax * 2 + 5], S[Smax * 2 + 5];
int main()
{
freopen("diamant.in", "r", stdin);
freopen("diamant.out", "w", stdout);
scanf("%d %d %d", &n, &m, &x);
s[Smax] = 1; x += Smax;
if (x > 2 * Smax || x < 0)
{
printf("0");
return 0;
}
for (i = 1; i <= n ; ++ i)
for (j = 1; j <= m ; ++ j)
{
memset(S, 0, sizeof(S));
sum += i * j;
for (k = sum + Smax - (i * j); k >= 0; -- k)
if (s[k])
S[k + (i * j)] = (s[k + (i * j)] + s[k]) % mod;
for (k = i * j ; k <= sum + Smax; ++ k)
if (s[k])
s[k - (i * j)] = (S[k - (i * j)] + s[k]) % mod;
for (k = 0; k <= sum + Smax; ++ k)
if (S[k])
s[k] = S[k] % mod;
}
printf("%d", s[x]);
return 0;
}