Pagini recente » Cod sursa (job #1475318) | Cod sursa (job #1211301) | Cod sursa (job #2214343) | Cod sursa (job #972430) | Cod sursa (job #967094)
Cod sursa(job #967094)
#include <iostream>
#include <fstream>
#define MOD 10000
using namespace std;
int n, m, X, p, q, maxval;
int dp[2][45600];
inline void Read()
{
ifstream f ("diamant.in");
f>>n>>m>>X;
f.close();
maxval = (n*(n+1)*m*(m+1))/2/2;
}
inline int Abs (int x)
{
return x>0?x:-x;
}
inline void Solve()
{
dp[0][0] = 1;
int i, j, k;
p = 1;
q = 0;
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
{
for (k=0; k<=maxval; k++)
{
dp[p][k] = dp[q][k] + dp[q][k+i*j] + dp[q][Abs(k-i*j)];
dp[p][k] %= MOD;
}
q = p;
p = 1-p;
}
}
}
inline void Write()
{
ofstream g("diamant.out");
g<<dp[q][Abs(X)]<<"\n";
g.close();
}
int main()
{
Read();
if (maxval < Abs(X))
{
ofstream g("diamant.out");
g<<"0\n";
g.close();
return 0;
}
Solve();
Write();
return 0;
}