Pagini recente » Cod sursa (job #2789798) | Cod sursa (job #1151964) | Cod sursa (job #2716042) | Cod sursa (job #3275054) | Cod sursa (job #850252)
Cod sursa(job #850252)
#include<fstream>
using namespace std;
#define MAXN 22
#define MAXS 44200
#define MOD 10000
int N, M, X, i, j, Max, Min, t;
int v[ MAXN * MAXN ], a[ MAXS * 3 ], b[ MAXS * 3 ];
int main()
{
ifstream f("diamant.in");
ofstream g("diamant.out");
f >> N >> M >> X;
for(i = 1; i <= N; ++i)
for(j = 1; j <= M; ++j)
++v[0], v[ v[0] ] = i*j, Max += i * j;
a[ Max + MAXS ] = a[ -Max + MAXS ] = b[ Max + MAXS ] = b[ - Max + MAXS ] = 1;
for(i = 1; i <= v[0]; ++i)
{
for(j = Max; j >= -Max; --j)
b[j - v[i] + MAXS ] += a[j + MAXS], b[j - v[i] + MAXS ] %= MOD, b[j - 2*v[i] + MAXS ] += a[j + MAXS], b[j - 2* v[i] + MAXS ] %= MOD;
for(j = Max; j >= -Max; --j)
a[j + MAXS] = b[j + MAXS];
}
if(X > MAXS || X < -MAXS)
g << 0 << endl;
else
g << a[ X + MAXS ] << endl;
f.close();
g.close();
return 0;
}