Pagini recente » Cod sursa (job #1552581) | Cod sursa (job #1425772) | Cod sursa (job #2965094) | Cod sursa (job #1622003) | Cod sursa (job #34680)
Cod sursa(job #34680)
#include <stdio.h>
#include <string.h>
#define FOR(i,s,d) for(i=(s);i<(d);++i)
#define nmax 65536
#define MOD 10000
int n,m,S;
int A[2*nmax],B[2*nmax];
int main()
{
int i,j,x,ii,a,b;
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%d %d %d",&n,&m,&S);
if(S>nmax||-S>nmax)
{
printf("0\n");
return 0;
}
A[nmax]=1;
a=b=nmax;
FOR(i,1,n+1) FOR(j,1,m+1)
{
x=i*j;
memcpy(B+a,A+a,(b-a+1)<<2);
FOR(ii,a,b+1)
{
A[ii+x]+=B[ii],A[ii-x]+=B[ii];
if(A[ii+x]>=MOD)
A[ii+x]-=MOD;
if(A[ii-x]>=MOD)
A[ii-x]-=MOD;
}
a-=x,b+=x;
}
printf("%d\n",A[S+nmax]);
return 0;
}