Pagini recente » Cod sursa (job #2143639) | Cod sursa (job #2960497) | Cod sursa (job #1300981) | Cod sursa (job #1354375) | Cod sursa (job #2533175)
#include <bits/stdc++.h>
const int MAX_N = 20;
const int MAX_S = 44100;
const int MOD = 10000;
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int dp[MAX_S + 5];
int main() {
int n, m;
long long x, sum = 0;
fin >> n >> m >> x;
if (x < 0)
x = -x;
for (int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
sum += i * j;
if (x > sum) {
fout << 0 << '\n';
return 0;
}
if (x == sum) {
fout << 1 << '\n';
return 0;
}
sum -= x;
dp[0] = 1;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
for (int k = sum; k >= i * j; k--) {
dp[k] += dp[k - i * j];
if (k >= 2 * i * j)
dp[k] += dp[k - 2 * i * j];
dp[k] %= MOD;
}
fout << dp[sum];
return 0;
}