Pagini recente » Cod sursa (job #1557917) | Cod sursa (job #839339) | Cod sursa (job #1321456)
#include<stdio.h>
#include<string.h>
#define a(i) ((i>=0)?(ap[i]):(an[-(i)]))
#define b(i) ((i>=0)?(bp[i]):(bn[-(i)]))
int n,m,x,li,ls,i,j,k,ap[50537],an[50537],bp[50537],bn[50537];
int main()
{
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%d%d%d",&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("%d\n",a(x));
return 0;
}