Pagini recente » Cod sursa (job #2559104) | Cod sursa (job #24707) | Cod sursa (job #2627265) | Cod sursa (job #550689) | Cod sursa (job #361500)
Cod sursa(job #361500)
#include<stdio.h>
#define Nmax 501000
#define Plus Nmax/2
int N,M,x,k=1,p=0,p1=1,aux,max;
int nr[2][Nmax],Q;
int v[410];
int main()
{
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%d %d %d",&N,&M,&x);
for(int i=1;i<=N;++i)
for(int j=1;j<=M;++j)
{
v[k]=i*j;
max=max+v[k];
++k;
}
if(max<x||x<-max)
{
printf("0\n");
return 0;
}
else if(x==max||x==-max)
{
printf("1\n");
return 0;
}
nr[0][0+Plus]=1;
Q=N*M;
for(int i=1;i<=Q;++i)
{
aux=p1;
p1=p;
p=aux;
for(int j=Q+10005;j>=(-Q)-10005;--j)
{
nr[p][j+Plus]=nr[p1][j+Plus]+nr[p1][j+Plus+v[i]]+nr[p1][j+Plus-v[i]];
nr[p][j+Plus]=nr[p][j+Plus]%10000;
}
}
printf("%d\n",nr[p][x+Plus]);
return 0;
}