Pagini recente » Cod sursa (job #1040397) | Cod sursa (job #594591) | Cod sursa (job #1837794) | Cod sursa (job #669966) | Cod sursa (job #1290080)
#include <stdio.h>
#define MAXX 44100
#define MAX 88201
#define MOD 10000
int d[2][MAX];
int main(){
FILE *in = fopen("diamant.in", "r");
int n, m, x;
fscanf(in, "%d%d%d", &n, &m, &x);
fclose(in);
int i, j, k, q;
d[0][MAXX] = 1;
for(i = 1; i <= n; i++){
for(j = 1; j <= m; j++){
q++;
q &= 1;
for(k = 0; k <= MAX; k++){
d[q][k] = d[!q][k];
if(k - i * j >= 0)
d[q][k] += d[!q][k - i * j];
if(k + i * j < MAX)
d[q][k] += d[!q][k + i * j];
d[q][k] %= MOD;
}
}
}
FILE *out = fopen("diamant.out", "w");
if(x + MAXX >= 0 && x + MAXX < MAX)
fprintf(out, "%d", d[(n * m) & 1][x + MAXX]);
else
fprintf(out, "0");
fclose(out);
return 0;
}