Pagini recente » Cod sursa (job #789674) | Cod sursa (job #2589125) | Cod sursa (job #2612193) | Cod sursa (job #2586999) | Cod sursa (job #696106)
Cod sursa(job #696106)
#include <cstdio>
const int N_MAX=20;
const int M_MAX=N_MAX*N_MAX*(N_MAX+1)*(N_MAX+1)/4;
int a[M_MAX*2+1],b[M_MAX*2+1];
#define a (a+M_MAX)
#define b (b+M_MAX)
int main()
{
int n,m,x;
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%d%d%d",&n,&m,&x);
if (x>M_MAX||x<-M_MAX)
{
printf("0\n");
return 0;
}
a[0]=1;
for (int i=1;i<=n;++i)
for (int j=1;j<=m;++j)
{
for (int k=-M_MAX;k<=M_MAX;++k)
b[k]=a[k];
for (int k=-M_MAX;k<=M_MAX;++k)
{
if (k-i*j>=-M_MAX)
a[k]+=b[k-i*j];
if (k+i*j<=M_MAX)
a[k]+=b[k+i*j];
a[k]%=10000;
}
}
printf("%d\n",a[x]);
return 0;
}