Pagini recente » Cod sursa (job #2619760) | Cod sursa (job #2175361) | Cod sursa (job #46994) | Cod sursa (job #2528059) | Cod sursa (job #1966226)
#include <iostream>
#include <fstream>
#include <cstring>
#define NMAX 25
#define XMAX 50000
#define a(x) (((x) < 0) ? an[(-x)] : ap[(x)] )
#define b(x) (((x) < 0) ? bn[(-x)] : bp[(x)] )
using namespace std;
ifstream f ("diamant.in");
ofstream g ("diamant.out");
const int MOD = 10000, ls = -45000, ld = 45000;
int n, m, x, ap[2 * XMAX], an[2 * XMAX], bp[2 * XMAX], bn[2 * XMAX];
int main()
{
f>>n>>m>>x;
ap[0] = 1;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++) {
memcpy(bp, ap, sizeof(bp));
memcpy(bn, an, sizeof(bn));
for (int q = ls; q <= ld; q++) {
a(q) = b(q - i * j) + b(q) + b(q + i * j);
a(q) %= MOD;
}
}
if (x > ld || x < ls) {
g<<0;
return 0;
}
else g<<a(x);
return 0;
}