Pagini recente » Cod sursa (job #1546335) | Cod sursa (job #3120822) | Cod sursa (job #3173393) | Cod sursa (job #1402700) | Cod sursa (job #870956)
Cod sursa(job #870956)
#include <cstdio>
#include <cstring>
#include <ctime>
#include <fstream>
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 mi -50000
#define ma 50000
int main()
{
ifstream fin("diamant.in");
ofstream fout("diamant.out");
fin>>n>>m>>k;
A(0)=1;
if(k>ma)
{
printf("%s","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(Ap));
for(int t=ma;t>=mi;t--)
{
A(t)=B(t-i*j)+B(t)+B(t+i*j);
A(t)%=10000;
}
}
fout<<A(k);
return 0;
}