Pagini recente » Cod sursa (job #1208815) | Cod sursa (job #2619532) | Cod sursa (job #2758465) | Cod sursa (job #1917275) | Cod sursa (job #2967334)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
short int dp[405][88205];
short int n,m;
long long x;
void citire()
{
f>>n>>m>>x;
}
void solve()
{
short int summax = 0,sum = 0;
int 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 * 1LL + summax,x-summax);
mi = min(44100 * 1LL - 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()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
citire();
solve();
}