Pagini recente » Cod sursa (job #142173) | Cod sursa (job #608363) | Cod sursa (job #1970206) | Cod sursa (job #2164276) | Cod sursa (job #2966184)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
const int NMAX = 405, MOD = 10000, DPMAX = 90000;
int n, m, x;
int calc[NMAX];
int dp[NMAX][DPMAX];
inline void solve()
{
//x = abs(x);
if(x < 0)
x*=-1;
int itr = 1, sum = 0;
for(int i = 1; i <= n; ++i)
{
for(int j = 1; j <= m; ++ j)
{
sum += i * j;
calc[itr++] = i * j;
}
}
itr--;
if(x == sum)
{
fout << 1;
return;
}
if(sum < x)
{
fout << 0;
return;
}
dp[0][0] = 1;
for(int i = 1; i <= itr; ++ i)
{
dp[i][0] = 1;
for(int j = sum; j >= 1; -- j)
{
dp[i][j] += (dp[i-1][j]%MOD + dp[i-1][abs(calc[i] - j)]%MOD)%MOD;
}
}
//x *= -1;
fout << dp[itr][x];
}
int main()
{
ios::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
fin >> n >> m >> x;
solve();
}