Pagini recente » Cod sursa (job #996234) | Cod sursa (job #760562) | Cod sursa (job #212451) | Cod sursa (job #3163377) | Cod sursa (job #2510609)
#include <bits/stdc++.h>
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
const int MAX = 2*44100;
const int MOD = 10000;
int n, m, s_dorit, s;
int dp[2][2*44105];
void solve()
{
int contor=0, vechi, x;
dp[0][MAX/2]=1;
for (int i=1; i<=n; ++i)
{
for (int j=1; j<=m; ++j)
{
contor++;
vechi=(contor+1)%2;
x=i*j;
contor%=2;
for (int t=0; t<=MAX; ++t)
{
dp[contor][t]=0;
if (t-x>=0)
dp[contor][t]+=dp[vechi][t-x];
if (t+x<=MAX)
dp[contor][t]+=dp[vechi][t+x];
dp[contor][t]+=dp[vechi][t];
dp[contor][t]%=MOD;
}
}
}
g << dp[contor][s_dorit+MAX/2];
}
int main()
{
f >> n >> m >> s_dorit;
if (s_dorit>MAX/2 || s_dorit<-1*MAX/2)
g << 0;
else
solve();
return 0;
}