Pagini recente » Cod sursa (job #2065009) | Cod sursa (job #2957515) | Cod sursa (job #1217914) | Cod sursa (job #1502002) | Cod sursa (job #1755208)
#include <cstdio>
#define MOD 10000
#define MAXN 400
#define S 44100
int k, v[MAXN], s[S*2+1], p[S*2+1], m[S*2+1];
#define s (s+S)
#define p (p+S)
#define m (m+S)
int main()
{
freopen("diamant.in", "r", stdin);
freopen("diamant.out", "w", stdout);
int n, mn, i, j, x, maxs, e;
scanf("%d%d%d", &n, &mn, &x);
maxs=n*(n+1)*mn*(mn+1)/4;
for(i=1;i<=n;++i)
for(j=1;j<=mn;++j)
v[k++]=i*j;
s[0]=1;
for(e=0;e<k;++e)
{
for(i=maxs;i>=-maxs;--i)
if(i+v[e]<=maxs)
p[i+v[e]]=(p[i+v[e]] + s[i])%MOD;
for(i=-maxs;i<=maxs;++i)
if(i-v[e] >= -maxs)
m[i-v[e]]=(m[i-v[e]] + s[i])%MOD;
for(i=-maxs;i<=maxs;++i)
{
s[i]=(s[i]+p[i]+m[i])%MOD;
p[i]=0;
m[i]=0;
}
}
printf("%d", s[x]);
return 0;
}