Pagini recente » Cod sursa (job #2080640) | Cod sursa (job #1884385) | Cod sursa (job #1306145) | Cod sursa (job #1925229) | Cod sursa (job #1755215)
#include <cstdio>
#define MOD 10000
#define MAXN 400
#define S 100000
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;
if(x < - maxs || x > maxs)
{
printf("0");
return 0;
}
for(e=0;e<k;++e)
{
for(i=-maxs;i<=maxs;++i)
if(s[i])
{
p[i+v[e]]=p[i+v[e]] + s[i];
m[i-v[e]]=m[i-v[e]] + s[i];
}
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;
}