Pagini recente » Cod sursa (job #102080) | Cod sursa (job #1554585) | Cod sursa (job #2169115) | Cod sursa (job #484847) | Cod sursa (job #1278794)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
const int MODULO=10000;
const int NMAX=25;
const int XMAX=50000;
const int XMAXX=100000;
int n,m,x,dp1[XMAXX],dp2[XMAXX];
bitset<XMAXX>viz;
int main()
{
int i,j,l,aux;
fin>>n>>m>>x;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
{
if (i==1 && j==1) {dp1[XMAX]=viz[XMAX]=dp1[XMAX-1]=viz[XMAX-1]=dp1[XMAX+1]=viz[XMAX+1]=1;continue;}
aux=i*j;
for (l=aux;l<(XMAXX-aux);l++)
if (viz[l]!=0)
{
dp2[l+aux]+=dp1[l];
viz[l+aux]=1;
dp2[l]+=dp1[l];
dp2[l-aux]+=dp1[l];
viz[l-aux]=1;
}
for (l=0;l<XMAXX;l++) {dp1[l]=dp2[l]%MODULO;dp2[l]=0;}
}
x+=XMAX;
if (x>=0 && x<XMAXX)
fout<<dp1[x]<<"\n";
return 0;
}