Pagini recente » Cod sursa (job #2911242) | Cod sursa (job #2494207) | Cod sursa (job #1725765) | Cod sursa (job #1463183) | Cod sursa (job #792565)
Cod sursa(job #792565)
#include<stdio.h>
#define mod 10000
int p[100001],q[100001],V[500],i,j,k,ok,n,m,z;
int *A=p+50000;
int *B=q+50000;
FILE*f=fopen("diamant.in","r");
FILE*g=fopen("diamant.out","w");
int main(){
fscanf(f,"%d%d%d",&n,&m,&k);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
V[++z]=i*j;
if(k<0){
ok=1;k*=(-1);
}
A[0]=1;
for(i=1;i<=z;i++){
for(j=(-k);j<=k;j++){
if(A[j]!=0){
if((j+V[i])<=k)
B[j+V[i]]=(A[j+V[i]]+A[j])%mod;
if((j-V[i])>=(-k))
B[j-V[i]]=(A[j-V[i]]+A[j])%mod;
}
}
for(j=(-k);j<=k;j++){
A[j]=B[j];
B[j]=0;
}
}
if(ok)
fprintf(g,"%d",A[k*(-1)]);
else
fprintf(g,"%d",A[k]);
return 0;
}