Pagini recente » Cod sursa (job #1650821) | Cod sursa (job #5284) | Cod sursa (job #2365965) | Cod sursa (job #1267278) | Cod sursa (job #296279)
Cod sursa(job #296279)
#include<stdio.h>
#include<string.h>
#define a(i) ((i>=0)?(ap[i]):(an[-(i)]))
#define b(i) ((i>=0)?(bp[i]):(bn[-(i)]))
long n,m,x,li,ls,i,j,k,ap[65537],an[65537],bp[65537],bn[65537];
int main()
{
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%ld%ld%ld",&n,&m,&x);
li=0;ls=0;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
{li-=(i*j);ls+=(i*j);}
if(x>ls||x<li){printf("0\n");return 0;}
ap[0]=1;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
{memcpy(bn,an,sizeof(an));
memcpy(bp,ap,sizeof(ap));
for(k=ls;k>=li;--k)
a(k)=b(k-(i*j))+b(k)+b(k+(i*j)),a(k)%=10000;}
printf("%ld\n",a(x));
return 0;
}