Pagini recente » Cod sursa (job #2185679) | Cod sursa (job #2340630) | Cod sursa (job #2970413) | Cod sursa (job #1439841) | Cod sursa (job #1472071)
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int n, m, i, j, x, v[88202], Nmax, k, w[88202];
void read()
{
freopen("diamant.in", "r", stdin);
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)
{
printf("%d", 0);
exit(0);
}
}
void rucsac()
{
for(i = 1; i <= n; ++ i)
for(j = 1; j <= m; ++ j)
{
memcpy(w, v, sizeof(w));
for(k = 0; k <= 2 * Nmax; ++ k)
{
if ((k + i * j) <= 2 * Nmax)
w[k] += v[k + i * j];
if ((k - i * j) >= 0)
w[k] += v[k - i * j];
}
memcpy(v, w, sizeof(v));
}
}
void write()
{
freopen("diamant.out", "w", stdout);
printf("%d\n", v[x + Nmax]);
}
int main()
{
read();
v[Nmax] = 1;
rucsac();
write();
return 0;
}