Pagini recente » Cod sursa (job #1150040) | Cod sursa (job #717464) | Cod sursa (job #1269991) | Cod sursa (job #1840466) | Cod sursa (job #718045)
Cod sursa(job #718045)
#include <cstdio>
#define lmax 45600
using namespace std;
int inceput;
int sfarsit;
int n;
int m;
int calitate;
int a[lmax * 2];
int b[lmax * 2];
#define a (a+lmax)
#define b (b+lmax)
void citire()
{
scanf ("%d %d %d", &n, &m, &calitate);
for (int i = 1; i <= n; ++ i){
for (int j = 1; j <= m; ++ j){
sfarsit += i * j;
}
}
inceput += 400;
inceput = sfarsit * (- 1);
}
void rez()
{
b[0] = 1;
for (int i = 1; i <= n; ++ i){
for (int j = 1; j <= m; ++ j){
for (int k = sfarsit; k >= inceput; -- k){
a[k] = b[k] + b[k - i * j] + b[k + i * j];
}
for (int k = inceput; k <= sfarsit; ++ k){
b[k] = a[k];
}
}
}
printf ("%d", a[calitate]);
}
int main()
{
freopen ("diamant.in", "r", stdin);
freopen ("diamant.out", "w", stdout);
citire();
rez();
return 0;
}