Pagini recente » Cod sursa (job #80130) | Cod sursa (job #187134) | Cod sursa (job #1958433) | Cod sursa (job #1098086) | Cod sursa (job #2666446)
#include <bits/stdc++.h>
using namespace std;
ifstream in("diamant.in");
ofstream out("diamant.out");
const int mod=10000;
int dp[89000];
int add[89000];
int main()
{
int n,m,obj;
in>>n>>m>>obj;
int lim=(n*(n+1)*m*(m+1))/4;
if(obj<-lim or obj>lim)
{
out<<0<<'\n';
return 0;
}
dp[lim]=1;
int sum=0;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
{
sum+=i*j;
for(int k=sum+lim;k>=lim-sum;--k)
{
add[k]=0;
if(k-i*j>=0)
add[k]=dp[k-i*j];
if(k+i*j<=2*lim)
add[k]+=dp[k+i*j];
}
for(int k=sum+lim;k>=lim-sum;--k)
dp[k]=(dp[k]+add[k])%mod;
}
out<<dp[obj+lim]<<'\n';
return 0;
}