Pagini recente » Cod sursa (job #95271) | Cod sursa (job #869593) | Cod sursa (job #2950127) | Cod sursa (job #1492719) | Cod sursa (job #2967327)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
short int dp[405][88205];
short int n,m,x;
void citire()
{
f>>n>>m>>x;
}
void solve()
{
short int summax = 0,sum = 0,ma,mi;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
summax = summax + i * j;
short int casute = 0;
dp[0][44100] = 1;
for(short int i=1;i<=n;i++)
{
for(short int j=1;j<=m;j++)
{
sum = i * j;
summax = summax - sum;
ma = max(-44100 + summax,x-summax);
mi = min(44100 - summax, x + summax);
casute++;
for(short int k = ma; k<= mi;k++)
{
dp[casute][k + 44100] = dp[casute-1][k + 44100];
dp[casute][k + 44100] += dp[casute-1][k - sum + 44100];
dp[casute][k + 44100] += dp[casute-1][k + sum + 44100];
dp[casute][k + 44100] = dp[casute][k + 44100] % 10000;
}
}
}
g<<dp[n*m][44100 + x];
}
int main()
{
citire();
solve();
}