Pagini recente » Cod sursa (job #2816823) | Cod sursa (job #727241) | Cod sursa (job #1441795) | Cod sursa (job #3226346) | Cod sursa (job #1472075)
#include <cstdio>
#include <algorithm>
#include <cstring>
#define mod 10000
using namespace std;
int n, m, i, j, x, v[88202], Nmax, k, w[88202];
void read()
{
freopen("diamant.in", "r", stdin);
freopen("diamant.out", "w", stdout);
scanf("%d %d %d", &n, &m, &x);
for(i = 1; i <= n; ++ i)
for(j = 1; j <= m; ++ j)
Nmax += i * j;
if (x > Nmax || x < -Nmax)
{
printf("%d", 0);
exit(0);
}
}
void rucsac()
{
for(i = 1; i <= n; ++ i)
for(j = 1; j <= m; ++ j)
{
memcpy(w, v, sizeof(v));
for(k = 0; k <= 2 * Nmax; ++ k)
{
if ((k + i * j) <= 2 * Nmax)
w[k] = (w[k] + v[k + i * j]) % mod;
if ((k - i * j) >= 0)
w[k] = (w[k] + v[k - i * j]) % mod;
}
memcpy(v, w, sizeof(w));
}
}
void write()
{
printf("%d\n", v[x + Nmax]);
}
int main()
{
read();
v[Nmax] = 1;
rucsac();
write();
return 0;
}