Pagini recente » Cod sursa (job #759146) | Cod sursa (job #1908789) | Cod sursa (job #2838539) | Cod sursa (job #2320507) | Cod sursa (job #1499330)
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define s second
#define pii pair<int, int>
#define mp make_pair
using namespace std;
const int mod = 1e4;
int MAX, n, m, k, curr, ant, dp[2][100005];
int main() {
freopen("diamant.in", "r", stdin);
freopen("diamant.out", "w", stdout);
cin >> n >> m >> k;
MAX = n * (n + 1) * m * (m + 1) / 4;
if (MAX < k || -MAX > k) {
cout << 0;
return 0;
}
dp[0][MAX] = 1;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++) {
curr = 1 - curr;
for (int sum = 0; sum <= 2 * MAX; sum++) {
dp[curr][sum] = dp[1 - curr][sum];
if (sum >= i * j) {
dp[curr][sum] += dp[1 - curr][sum - i * j];
if (dp[curr][sum] >= mod)
dp[curr][sum] -= mod;
}
if (sum + i * j <= 2 * MAX) {
dp[curr][sum] += dp[1 - curr][sum + i * j];
if (dp[curr][sum] >= mod)
dp[curr][sum] -= mod;
}
}
}
cout << dp[curr][k + MAX];
return 0;
}