Pagini recente » Cod sursa (job #2103108) | Cod sursa (job #1624445) | Cod sursa (job #1888625) | Cod sursa (job #2342976) | Cod sursa (job #1503775)
#include <cstdio>
#define DIM 200000
using namespace std;
int N, M, K, value;
long long D[DIM], A[DIM];
#define D (D + 100000)
#define A (A + 100000)
int main ()
{
freopen ("diamant.in" , "r", stdin );
freopen ("diamant.out", "w", stdout);
scanf ("%d %d %d", &N, &M, &K);
value = N * (N + 1) * M * (M + 1) / 4;
if (K > value || K < -value)
{
printf ("0\n");
return 0;
}
D[0] = 1;
for (int i = 1; i <= N; i ++)
for (int j = 1; j <= M; j ++)
{
for (int k = -value; k <= value; k ++)
if (D[k])
{
A[k] += D[k];
A[k + i*j] += D[k];
A[k - i*j] += D[k];
}
for (int k = -value; k <= value; k ++)
{
D[k] = A[k];
A[k] = 0;
}
}
printf ("%d\n", D[K]);
fclose (stdin );
fclose (stdout);
return 0;
}