Pagini recente » Cod sursa (job #3273486) | Cod sursa (job #2931117) | Cod sursa (job #2931023) | Cod sursa (job #190272) | Cod sursa (job #870962)
Cod sursa(job #870962)
#include <cstdio>
#include <cstring>
#include <ctime>
#include <fstream>
#define M 1<<16
using namespace std;
int An[M];
int Ap[M];
int Bn[M];
int Bp[M];
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 mi -44100
#define ma 44100
int main()
{
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%d%d%d",&n,&m,&k);
A(0)=1;
if(k>ma)
{
printf("0\n");
return 0;
}
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
{
memcpy(Bn,An,sizeof(An));
memcpy(Bp,Ap,sizeof(Bp));
for(int t=ma;t>=mi;--t)
{
A(t)=(B(t-i*j)+B(t)+B(t+i*j))%10000;
}
}
printf("%d",A(k));
return 0;
}