Pagini recente » Cod sursa (job #2046400) | Cod sursa (job #166955) | Cod sursa (job #1730124) | Cod sursa (job #2177647) | Cod sursa (job #35283)
Cod sursa(job #35283)
#include <cstdio>
#include <cstring>
#include <ctime>
using namespace std;
int An[1<<16];
int Ap[1<<16];
int Bn[1<<16];
int Bp[1<<16];
int i,j,n,m,k;
#define A(i) (((i)<0)?(An[-(i)]):(Ap[(i)]))
#define B(i) (((i)<0)?(Bn[-(i)]):(Bp[(i)]))
#define li -50000
#define ls 50000
int main()
{
long t1=clock();
freopen ("diamant.in","r",stdin);
freopen ("diamant.out","w",stdout);
scanf ("%d%d%d",&n,&m,&k);
if (k>ls){
printf ("0\n");
return 0;
}
A(0)=1;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++){
memcpy(Bn,An,sizeof(An));
memcpy(Bp,Ap,sizeof(Bp));
//+
A(k)=B(k-i*j)+B(k)+B(k+i*j);
A(k)%=10000;
}
printf ("%d\n",A(k));
return 0;
}