Pagini recente » Cod sursa (job #3178471) | Cod sursa (job #2815579) | Cod sursa (job #2062618) | Cod sursa (job #1985126) | Cod sursa (job #1499326)
#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 string name = "diamant",
in_file = name + ".in",
out_file = name + ".out";
ifstream fin(in_file);
ofstream fout(out_file);
const int mod = 1e4;
int MAX, n, m, k, curr, ant, dp[2][100005];
int main() {
fin >> n >> m >> k;
MAX = n * (n + 1) * m * (m + 1) / 4;
if (MAX < k || -MAX > k) {
fout << 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 (sum + i * j <= 2 * MAX)
dp[curr][sum] += dp[1 - curr][sum + i * j];
if (dp[curr][sum] >= mod)
dp[curr][sum] -= mod;
}
}
fout << dp[curr][k + MAX];
return 0;
}