Pagini recente » Cod sursa (job #2096238) | Cod sursa (job #328021) | Cod sursa (job #2593535) | Cod sursa (job #1925624) | Cod sursa (job #2881131)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main()
{
ifstream f("diamant.in");
ofstream g("diamant.out");
long n, m, x;
f >> n >> m >> x;
int nagyszam = n * (n + 1) / 2 *
m * (m + 1) / 2;
int nagytomb[2 * nagyszam + 1];
fill_n(nagytomb, 2 * nagyszam + 1, 0);
nagytomb[0] = 1;
int nagytombMentes[2 * nagyszam + 1];
fill_n(nagytombMentes, 2 * nagyszam + 1, 0);
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
copy(nagytomb, nagytomb + 2 * nagyszam + 1, nagytombMentes);
for (int k = nagyszam; k >= 0; k--)
{
nagytomb[k] = nagytombMentes[(int)abs(k - i * j)] + nagytombMentes[k] + nagytombMentes[k + i * j];
nagytomb[k] %= 10000;
}
// for (int i = 0; i <= nagyszam; i++)
// {
// cout << nagytomb[i] << " ";
// }
// cout << endl;
}
}
g << nagytomb[(int)abs(x)];
// cout << "|" << nagytomb[(int)abs(x)] << "|" << endl;
return 0;
}