Pagini recente » Cod sursa (job #129705) | Cod sursa (job #2797866) | Cod sursa (job #1998904) | Cod sursa (job #264955) | Cod sursa (job #1490231)
#include <stdio.h>
#define MAX 805
#define X 44105
#define mod 10000
int n, m, x, u[2 * X], v[2 * X], i, j, k, mini, maxi;
int main(){
freopen("diamant.in", "r", stdin);
freopen("diamant.out", "w", stdout);
scanf("%d%d%d", &n, &m, &x);
if(x < -X + 5 || x > X - 5){
printf("0\n");
return 0;
}
int val = n * m * (n + 1) * (m + 1) / 4;
u[val] = 1;
v[val] = 1;
mini = maxi = val;
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++){
for(k = mini - i * j; k <= maxi + i * j; k++){
if(k - i * j >= 0)
v[k] = (v[k] + u[k - i * j]) % mod;
if(k + i * j <= 2 * val)
v[k] = (v[k] + u[k + i * j]) % mod;
}
for(k = mini - val; k <= maxi + val; k++)
u[k] = v[k];
mini -= i * j;
maxi += i * j;
}
printf("%d\n", u[val + x]);
return 0;
}