Pagini recente » Cod sursa (job #1802446) | Cod sursa (job #389367) | Cod sursa (job #971485) | Cod sursa (job #2783971) | Cod sursa (job #1463360)
# include <bits/stdc++.h>
const int pls = 185005;
using namespace std;
ifstream fi("diamant.in");
ofstream fo("diamant.out");
int dp[2][pls];
int main(void)
{
int n,m,x;
fi>>n>>m>>x;
dp[0][0] = 1;
bool ok = 0;
x = abs(x);
if (x >= pls) return fo << "0\n",0;
int sum = 0;
for (int i = 1;i <= n;++i)
for (int j = 1;j <= m;++j)
{
ok = 1 - ok;
int add = i*j;
sum += i*j;
for (int k = 0;k <= sum;++k) dp[ok][k] = dp[1-ok][k];
for (int k = 0;k <= sum;++k)
{
dp[ok][k] += dp[1-ok][abs(k - add)];
if (dp[ok][k] >= 10000) dp[ok][k] -= 10000;
dp[ok][k] += dp[1-ok][k + add];
if (dp[ok][k] >= 10000) dp[ok][k] -= 10000;
}
}
return fo << dp[ok][x] << '\n',0;
}