Pagini recente » Cod sursa (job #2073751) | Cod sursa (job #2011791) | Istoria paginii runda/clasele_5-6/clasament | Cod sursa (job #2911700) | Cod sursa (job #1732556)
#include <stdio.h>
#define lim 200005
#define mod 10000
int v[lim],d[lim];
#define v (v + 100000)
#define d (d + 100000)
int main(){
FILE *fin,*fout;
fin=fopen("diamant.in","r");
fout=fopen("diamant.out","w");
int i,j,k,n,m,x,val=0;
fscanf(fin,"%d%d%d",&n,&m,&x);
d[0]=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++){
for(k=-val;k<=val;k++)
if(d[k]!=0){
v[k]+=d[k];
v[k+i*j]+=d[k];
v[k-i*j]+=d[k];
}
val+=i*j;
for(k=-val;k<=val;k++){
d[k]=v[k]%mod;
v[k]=0;
}
}
if(x>val||x<-val)
fprintf(fout,"0\n");
else
fprintf(fout,"%d\n",d[x]);
fclose(fin);
fclose(fout);
return 0;
}