Pagini recente » Cod sursa (job #664901) | Cod sursa (job #100573) | Cod sursa (job #716245) | Cod sursa (job #1177001) | Cod sursa (job #2453599)
#include <bits/stdc++.h>
#define MOD 10000;
#define offset 44100
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int n, m, v[402], z, dp[2][offset + offset + 2], s;
long long x;
int main()
{
fin >> n >> m >> x;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= m; ++j)
v[++z] = i * j, s += v[z];
if (x > offset || x < -offset)
{
fout << 0;
return 0;
}
dp[1][x + offset] = 1;
int t = 0;
for (int index = z; index >= 1; --index)
{
for (int sum = s; sum >= -s; --sum)
{
dp[t][sum + offset] = dp[1 - t][sum + offset];
if (sum + v[index] <= offset)
dp[t][sum + offset] += dp[1 - t][sum + v[index] + offset];
if (sum - v[index] >= -offset)
dp[t][sum + offset] += dp[1 - t][sum - v[index] + offset];
dp[t][sum + offset] %= MOD;
}
t = 1 - t;
}
fout << dp[1 - t][offset];
return 0;
}