Pagini recente » Cod sursa (job #783897) | Cod sursa (job #2104841) | Cod sursa (job #2275803) | Cod sursa (job #2282372) | Cod sursa (job #1363536)
#include <cstdio>
FILE*f=fopen("diamant.in","r");
FILE*h=fopen("diamant.out","w");
int n,m,x,v[401],k,sum[250001],sumv[250001];
int main(){
fscanf(f,"%d%d%d",&n,&m,&x);
for ( int i=1;i<=n;++i )
for ( int j=1;j<=m;++j )
v[++k]=i*j;
if ( x>n*(n+1)/2*m*(m+1)/2||x<-n*(n+1)/2*m*(m+1)/2 ){
fprintf(h,"0");
return 0;
}
sum[100000]=1;
int smax=100000,smin=100000;
for ( int i=1;i<=k;++i ){
for ( int j=smax;j>=smin;--j )
sumv[j]=sum[j];
for ( int j=smax;j>=smin;--j ){
if ( sumv[j] ){
sum[j+v[i]]=(sumv[j]+sum[j+v[i]])%10000;
sum[j-v[i]]=(sumv[j]+sum[j-v[i]])%10000;
}
}
smax+=v[i];
smin-=v[i];
}
--sum[100000];
fprintf(h,"%d\n",sum[x+100000]);
return 0;
}