Pagini recente » Cod sursa (job #994118) | Cod sursa (job #2420577) | Cod sursa (job #948471) | Cod sursa (job #2972688) | Cod sursa (job #38594)
Cod sursa(job #38594)
#include <cstdio>
#define FIN "diamant.in"
#define FOUT "diamant.out"
#define NMAX 45000
long long s1[NMAX], s2[NMAX];
int N, M, X;
void read ()
{
scanf ("%d%d%d", &N, &M, &X);
}
void solve ()
{
int i, j;
s1[1] = s1[0] = 1;
if (X < 0)
X = -X;
for (int p = 1; p < N*M; ++ p)
{
for (int x = 0; x <= X; ++ x)
{
i = p / M + 1;
j = p - p / M * N + 1;
if (x - i*j > 0)
s2[x] = s1[x - i*j] + s1[x + i*j] + s1[x];
else
s2[x] = s1[i*j - x] + s1[x + i*j] + s1[x];
}
for (int x = 0; x <= X; ++ x)
s1[x] = s2[x];
}
printf ("%lld\n", s1[X]%10000);
}
int
main ()
{
freopen (FIN, "rt", stdin);
freopen (FOUT, "wt", stdout);
read ();
solve ();
return 0;
}