Pagini recente » Cod sursa (job #263369) | Cod sursa (job #96581) | Cod sursa (job #1986821) | Cod sursa (job #3240731) | Cod sursa (job #2204202)
#include <stdio.h>
#define MAXX 44101
#define MOD 10000
int count[2*MAXX],copie[2*MAXX];
int main(){
FILE *fin=fopen("diamant.in","r");
FILE *fout=fopen("diamant.out","w");
int n,m,x,i,j,val,k;
fscanf(fin,"%d%d%d",&m,&n,&x);
if(-MAXX<x && x<MAXX){
count[MAXX]=1;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++){
val=i*j;
for(k=-MAXX; k<=MAXX; k++){
copie[k-val+MAXX]=(copie[k-val+MAXX]+count[k+MAXX])%MOD;
copie[k +MAXX]=(copie[k +MAXX]+count[k+MAXX])%MOD;
copie[k+val+MAXX]=(copie[k+val+MAXX]+count[k+MAXX])%MOD;
}
for(k=-MAXX; k<=MAXX; k++){
count[k+MAXX]=copie[k+MAXX];
copie[k+MAXX]=0;
}
}
fprintf(fout,"%d\n",count[x+MAXX]);
}else
fprintf(fout,"0\n");
fclose(fin);
fclose(fout);
return 0;
}