Pagini recente » Cod sursa (job #250295) | Cod sursa (job #915904) | Cod sursa (job #1441127) | Cod sursa (job #2800300) | Cod sursa (job #2458859)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 45000;
const int MOD = 10000;
int N, M, X, sMax;
int dp[2][2 * NMAX];
int main(){
freopen("diamant.in", "r", stdin);
freopen("diamant.out", "w", stdout);
scanf("%d %d %d", &N, &M, &X);
for(int i = 1; i <= N; i++){
for(int j = 1; j <= M; j++)
sMax += i * j;
}
X = abs(X);
if(sMax < X){
printf("0");
return 0;
}
dp[1][0] = 1;
int line = 0;
for(int i = 1; i <= N; i++){
for(int j = 1; j <= M; j++){
for(int k = 0; k <= sMax; k++)
dp[line][k] = (dp[1 - line][abs(i * j - k)] + dp[1 - line][k] + dp[1 - line][i * j + k]) % MOD;
line = 1 - line;
}
}
printf("%d", dp[1 - line][X]);
return 0;
}