Pagini recente » Cod sursa (job #17226) | Cod sursa (job #889660) | Cod sursa (job #1828248) | Cod sursa (job #172104) | Cod sursa (job #2098217)
#include <fstream>
#define mod 10000
using namespace std;
fstream f1("diamant.in", ios::in);
fstream f2("diamant.out", ios::out);
int n, m, x, dp[2][88205];
int fct(int x)
{
if(x>0) return x;
else return -x;
}
int t=44100;
int main()
{
int poz, i, j, val;
f1>>n>>m>>x;
if(fct(x)> (n*(n+1)/2)*(m*(m+1)/2)) f2<<0;
else
{
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=0; val<=88200; val++)
{
dp[poz%2][val]= dp[1-poz%2][val];
if(val-i*j >=0) dp[poz%2][val]+= dp[1-poz%2][val-i*j];
dp[poz%2][val]%=mod;
if(val+i*j <=88200) dp[poz%2][val]+= dp[1-poz%2][val+i*j];
dp[poz%2][val]%=mod;
}
}
f2<<dp[(n*m-1+2)%2][t+x];
}
return 0;
}