Pagini recente » Cod sursa (job #1651473) | Cod sursa (job #2806210) | Cod sursa (job #288762) | Cod sursa (job #1662265) | Cod sursa (job #3220446)
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
const int MID = 1e5, mod = 1e4;
int n, m, x, k, sum, v[405], dp[2*MID+5];
int main()
{
freopen("diamant.in", "r", stdin);
freopen("diamant.out", "w", stdout);
cin.tie(nullptr)->sync_with_stdio(0);
cin >> n >> m >> x;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++) {
v[++k] = i * j;
sum += v[k];
}
if(x > sum || x < sum) {
cout << 0;
return 0;
}
dp[MID] = 1;
for(int i=1; i<=k; i++) {
vector<int> add(2*MID+5, 0);
for(int j=MID+sum; j>=MID-sum; j--)
add[j] = (add[j] + dp[j-v[i]]) % mod;
for(int j=MID-sum; j<=MID+sum; j++)
add[j] = (add[j] + dp[j+v[i]]) % mod;
for(int j=MID-sum; j<=MID+sum; j++)
dp[j] = (dp[j] + add[j]) % mod;
}
cout << dp[MID+x];
return 0;
}