Pagini recente » Cod sursa (job #2977404) | Cod sursa (job #1758478) | Cod sursa (job #729869) | Cod sursa (job #1564622) | Cod sursa (job #2098388)
#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 fct2 (int val)
{
if(val>= mod) return (val-mod);
return val;
}
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][44100]=1;
poz=1;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
{
for(val=0; val<=88200; val++)
{
dp[poz][val]= fct2(dp[poz][val]+dp[1-poz][val]);
if(val-i*j >=0) dp[poz][val-i*j]= fct2(dp[1-poz][val]+ dp[poz][val-i*j]);
if(val+i*j <=88200) dp[poz][val+i*j]= fct2(dp[1-poz][val]+ dp[poz][val+i*j]);
dp[1-poz][val]=0;
}
poz=1-poz;
}
f2<<dp[1-poz][44100+x];
}
return 0;
}