Pagini recente » Cod sursa (job #614067) | Cod sursa (job #1021064) | Cod sursa (job #551812) | Cod sursa (job #1361694) | Cod sursa (job #52417)
Cod sursa(job #52417)
#include<stdio.h>
const int mod = 10000;
const int maxn2 = 21;
const int maxn = 44100 * 2;
int aux[maxn + 1];
int s[maxn + 1];
int i;
int j;
int k;
int n;
int m;
int x;
int modul(int x)
{
if (x < 0) return x * (-1);
return x;
}
int main()
{
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%d %d %d",&n,&m,&x);
if (modul(x) > n * (n + 1) / 2 * m * (m + 1) / 2 )
{
printf("0\n");
return 0;
}
int x1 = x;
x = 1;
s[44100] = 1;
for(i = 1;i <= n; ++i)
{
for(j = 1;j <= m; ++j)
{
for(k = 44100 - i * (i + 1) / 2 * m * (m + 1) / 2;k <= 44100 + i * (i + 1) / 2 * m * (m + 1) / 2; ++k)
{
aux[k] = (aux[k] + s[k])%mod;
aux[k + i * j] = (aux[k + i * j] + s[k])%mod;
if (k > i * j)aux[k - i * j] = (aux[k - i * j] + s[k])%mod;
}
for(k = 44100 - i * (i + 1) / 2 * m * (m + 1) / 2;k <= 44100 + i * (i + 1) / 2 * m * (m + 1) / 2; ++k)
{
s[k] = aux[k];
aux[k] = 0;
}
}
}
printf("%d\n",s[44100 + x1]);
return 0;
}