Pagini recente » Cod sursa (job #3129943) | Cod sursa (job #2203347) | Cod sursa (job #2728165) | Cod sursa (job #2787563) | Cod sursa (job #2881156)
#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 = 44100;
if (abs(x) > nagyszam)
{
g << 0;
return 0;
}
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 && nagytomb[i] != 0; i++)
// {
// cout << nagytomb[i] << " ";
// }
// cout << endl;
}
}
g << nagytomb[(int)abs(x)];
// cout << "|" << nagytomb[(int)abs(x)] << "|" << endl;
return 0;
}