Pagini recente » Cod sursa (job #809487) | Cod sursa (job #2331670) | Cod sursa (job #2591249) | Cod sursa (job #2054105) | Cod sursa (job #1494980)
#include <cstdio>
#define maxN 100005
#define MOD 10000
#include <cstring>
using namespace std;
int s,d,i,j,k,m,n,a[100000],cal,b[100000],x;
int main()
{
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%d %d %d",&n,&m,&x);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cal+=i*j;
if(x>cal || x<-cal)
{
printf("0");
return 0;
}
a[cal]=b[cal]=1;
s=d=cal;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
for(k=d-i*j;k<=s+i*j;k++)
{
if(k+i*j <= cal * 2)
b[k]=(b[k]+a[k+i*j])%MOD;
if(k-i*j >= 0)
b[k]=(b[k]+a[k-i*j])%MOD;
}
d-=i*j;
s+=i*j;
memcpy(a,b,sizeof(b));
}
printf("%d ",a[x+cal]);
return 0;
}