Pagini recente » Cod sursa (job #2062386) | Cod sursa (job #1140062) | Cod sursa (job #3183486) | Cod sursa (job #1056902) | Cod sursa (job #51877)
Cod sursa(job #51877)
#include <stdio.h>
#define fin "diamant.in"
#define fout "diamant.out"
#define Smax 99226
#define Mod 10000
int s1[2*Smax],s2[2*Smax];
int N,M,X;
#define s1 (s1 + Smax)
#define s2 (s2 + Smax)
int main() {
int i,j,k,val;
freopen(fin,"r",stdin); freopen(fout,"w",stdout);
scanf("%d%d%d",&N,&M,&X);
s1[0]=1;
for (i=1;i<=N;++i)
for (j=1;j<=M;++j) {
val=i*j;
for (k=-Smax+1;k<Smax;++k)
if (k-val>-Smax) {
s2[k]=s2[k]+s1[k-val];
if (s2[k]>=Mod)
s2[k]-=Mod;
}
val*=-1;
for (k=-Smax+1;k<Smax;++k)
if (k-val<Smax) {
s2[k]+=s1[k-val];
if (s2[k]>=Mod)
s2[k]-=Mod;
}
for (k=-Smax+1;k<Smax;++k) {
s1[k]+=s2[k];
if (s1[k]>=Mod)
s1[k]-=Mod;
s2[k]=0;
}
}
if (X<=-Smax || X>=Smax)
printf("0\n");
else
printf("%d\n",s1[X]);
fclose(stdin); fclose(stdout);
return 0;
}