Pagini recente » Cod sursa (job #1490295) | Cod sursa (job #1188791) | Borderou de evaluare (job #1188894) | Cod sursa (job #1262556) | Cod sursa (job #1188792)
#include<cstdio>
using namespace std;
short a[90005];
short b[90005];
//-----------------------------------------------------------
void ADD(short val)
{
for(int i=val;i<=90000;i++)
b[i]+=a[i-val];
for(int i=0;i<=90000-val;i++)
b[i]+=a[i+val];
for(int i=0;i<=90000;i++)
a[i]=(a[i]+b[i])%10000,b[i]=0;
}
//-----------------------------------------------------------
int main()
{
int w;
short m,n;
FILE * fIn = fopen("diamant.in","r");
fscanf(fIn,"%hd%hd%d",&m,&n,&w);
fclose(fIn);
FILE * fOut = fopen("diamant.out","w");
if(w>44100 || w<-44100)
{
fprintf(fOut,"0\n");return 0;
}
a[45000]=1;
for(int i=1;i<=m;++i)
for(int j=1;j<=n;++j)
ADD(i*j);
fprintf(fOut,"%hd\n",a[w+45000]);
fclose(fOut);
return 0;
}