Pagini recente » Cod sursa (job #818102) | Cod sursa (job #3342293) | Monitorul de evaluare | Cod sursa (job #3343046) | Cod sursa (job #3332883)
#include <bits/stdc++.h>
using namespace std;
long long dp[2][100555],mod=10000;
int main()
{
ifstream cin("diamant.in");
ofstream cout("diamant.out");
int n,m,sum=0,k;
cin>>n>>m>>k;
dp[0][44100]=1;
int in=0;
if(k>2*44100 || (k+44100)<0)
{
cout<<0;
return 0;
}
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
++in;
sum+=i*j;
for(int h=44100+sum;h>=44100-sum;--h)
{
dp[in%2][h]=dp[(in+1)%2][h];
if(h>=i*j)
{
dp[in%2][h]=(dp[in%2][h]+dp[(in+1)%2][h-i*j])%mod;
}
if(h+i*j<=2*44100)
{
dp[in%2][h]=(dp[in%2][h]+dp[(in+1)%2][h+i*j])%mod;
}
}
}
}
cout<<dp[in%2][44100+k];
return 0;
}