Pagini recente » Cod sursa (job #647434) | Cod sursa (job #2959446) | Cod sursa (job #1723973) | Cod sursa (job #2455798) | Cod sursa (job #425837)
Cod sursa(job #425837)
#include<stdio.h>
#define REST 10000
int N,M,X;
int C[2][90000];
int main(){
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
int i,j,s=0,smax,k,k1,k2,x,p;
scanf("%d%d%d",&N,&M,&X);
for(i=1;i<=N;++i){
for(j=1;j<=M;++j)
s+=i*j;
}
if(!(s>=X && X>=-s)){
printf("0\n");
return 0;
}
smax=s*2+2;
C[0][s]=1;
k=0;
for(i=1;i<=N;++i){
for(j=1;j<=M;++j){
++k;
k1=k%2;
k2=(k-1)%2;
p=i*j;
for(x=0;x<=smax;++x)
C[k1][x]=C[k2][x];
for(x=0;x<=smax;++x){
if(C[k2][x]){
C[k1][x+p]+=C[k2][x];
if(C[k1][x+p]>=REST)
C[k1][x+p]-=REST;
C[k1][x-p]+=C[k2][x];
if(C[k1][x-p]>=REST)
C[k1][x-p]-=REST;
}
}
}
}
printf("%d\n",C[k1][X+s]);
fclose(stdin);
fclose(stdout);
return 0;
}