Pagini recente » Cod sursa (job #170000) | Cod sursa (job #1779690) | Cod sursa (job #1582251) | Cod sursa (job #259200) | Cod sursa (job #1757681)
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
#define limita 55000
#define modulo 10000
int v[1010];
int dp[120000];
int a[120000],b[120000];
int l,c,n,mx,i,j,s;
int main()
{
fin>>l>>c>>s;
for(i=1; i<=l; ++i)
for(j=1; j<=c; ++j)
{
v[++n]=i*j;
mx+=i*j;
}
dp[limita]=1;
for(i=1; i<=n; ++i)
{
for(j=mx+limita; j>=limita-mx; --j)
if(dp[j])
a[j+v[i]]+=dp[j];
for(j=limita-mx; j<=mx+limita; ++j)
if(dp[j])
b[j-v[i]]+=dp[j];
for(j=limita-mx; j<=mx+limita; ++j)
{
dp[j]+=a[j]+b[j];
dp[j]%=modulo;
a[j]=b[j]=0;
}
}
fout<<dp[s+limita];
}