Pagini recente » Clasament un_ultim_efort | Cod sursa (job #101907) | Cod sursa (job #3218196) | Cod sursa (job #1158701) | Cod sursa (job #1228353)
#include<stdio.h>
#include<math.h>
#define MAXN 20
#define MOD 10000
int v[MAXN*MAXN],cant[MAXN*MAXN*MAXN*MAXN],cant1[MAXN*MAXN*MAXN*MAXN];
int main(){
FILE *fin,*fout;
fin=fopen("diamant.in","r");
fout=fopen("diamant.out","w");
int n,m,x;
fscanf(fin,"%d%d%d",&n,&m,&x);
x=abs(x);
int i,j,cont=0,maxS=0;
for(i=0; i<n; i++)
for(j=0; j<m; j++){
v[cont++]=(i+1)*(j+1);
maxS+=(i+1)*(j+1);
}
for(i=0; i<cont; i++){
for(j=maxS;j>=0;j--){
cant1[j]+=cant[j+v[i]];
if(j-v[i]>=0)
cant1[j]+=cant[j-v[i]];
else
cant1[j]+=cant[-j+v[i]];
}
for(j=0;j<=maxS;j++){
cant[j]=(cant[j]+cant1[j])%MOD;
cant1[j]=0;
}
}
fprintf(fout,"%d",cant[x]);
return 0;
}