Pagini recente » Cod sursa (job #155628) | Cod sursa (job #1715514) | Cod sursa (job #2040433) | Cod sursa (job #1565633) | Cod sursa (job #1800769)
#include <algorithm>
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("diamant.in");
ofstream out("diamant.out");
const int mod = 10005;
const int maxx = 44205;
const int maxn = 25;
int v[maxn * maxn];
int dp[maxn][maxx * 2];
int main()
{
int n, m, x;
in >> n >> m >> x;
int poz = 0;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
v[++poz] = i * j;
sort(v + 1, v + poz + 1);
dp[0][maxx] = 1;
int sum = 0;
for(int i = 1; i <= poz; i++)
{
sum += v[i];
for(int s = maxx - sum; s <= maxx + sum; s++)
dp[i][s] = (dp[i - 1][s - v[i]] + dp[i - 1][s] + dp[i - 1][s + v[i]]) % mod;
}
out << dp[n * m][maxx + x];
return 0;
}