Pagini recente » Cod sursa (job #1412655) | Cod sursa (job #741419) | Cod sursa (job #1645428) | Cod sursa (job #2621724) | Cod sursa (job #2461237)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
const int mod = 10000;
int n, m, x, dp[2][95000], a[405], v,V = 90000, len, L;
int main()
{
fin >> n >> m >> x;
v = n*m*(n + 1)*(m + 1)/4;
if(abs(x) > v)
fout << 0 << "\n";
else
{
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
{
a[++len] = i*j;
}
x = x + 45000;
L = 0;
dp[0][V/2] = 1;
for(int i = 1; i <= len; ++i)
{
L = 1 - L;
for(int j = 0; j <= V; ++j)
{
dp[L][j] = dp[1 - L][j];
if(j >= a[i])
dp[L][j] += dp[1 - L][j - a[i]];
dp[L][j] += dp[1 - L][j + a[i]];
dp[L][j] %= mod;
}
}
fout << dp[L][x] << "\n";
}
return 0;
}