Pagini recente » Cod sursa (job #2871783) | Cod sursa (job #1888052) | Cod sursa (job #664915) | Cod sursa (job #1295012) | Cod sursa (job #3315614)
//dif3 diamant nrpuf abc acces text2
#include<fstream>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
const int M = 10000;
int dp[2][90000], n, m, X, s, off;
int main(){
int i, j, stare, k, ans =0 ;
fin >> n >> m >> X;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s += i*j;
if( X > s || X < -s){
fout << 0;
return 0;
}
off = s;
dp[0][off] = 1;
stare = 1;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
for(k=-s;k<=s;k++){
dp[stare][off + k] = dp[1-stare][off + k];
// dp[stare][off + k] = (dp[stare][off + k] + dp[1-stare][off + k]) % M;
if(k-i*j >= -s)
dp[stare][off + k] = (dp[stare][off + k] + dp[1-stare][off + k-i*j]) % M;
if(k+i*j <= s)
dp[stare][off + k] = (dp[stare][off + k] + dp[1-stare][off + k+i*j]) % M;
if(k == X)
ans = (ans + dp[stare][off + k]) % M;
}
stare = 1 - stare;
for(k=-s;k<=s;k++)
dp[stare][off + k] = 0;
}
}
fout << dp[1-stare][off + X];
}