Pagini recente » Cod sursa (job #1470275) | Cod sursa (job #3274885) | Cod sursa (job #1530994) | Cod sursa (job #2587688) | Cod sursa (job #2098164)
#include <fstream>
#include <stdlib.h>
#define xmax 88205
#define mod 10000
using namespace std;
fstream f1("diamant.in", ios::in);
fstream f2("diamant.out", ios::out);
int n, m, x, dp[2][xmax];
int main()
{
int poz, i, j, val, T;
f1>>n>>m>>x;
if(abs(x)> (n*(n+1)/2)*(m*(m+1)/2)) f2<<0;
else
{
T=(n*(n+1)/2)*(m*(m+1)/2);
dp[0][T+1]=dp[0][T-1]=dp[0][T]=1;
for(poz=1; poz<n*m; poz++)
{
i= 1+ poz/m;
j= 1+ poz%m;
for(val=-T; val<=T; val++)
{
dp[poz%2][T+val]= dp[1-poz%2][T+ val];
if(val-i*j >=-T) dp[poz%2][T+val]+= dp[1-poz%2][T+val-i*j];
dp[poz%2][T+val]%=mod;
if(val+i*j <=T) dp[poz%2][T+val]+= dp[1-poz%2][T+val+i*j];
dp[poz%2][T+val]%=mod;
}
}
f2<<dp[(n*m-1+2)%2][T+x];
}
return 0;
}