Pagini recente » Cod sursa (job #2985380) | Cod sursa (job #1801984) | Cod sursa (job #2620085) | Cod sursa (job #1606533) | Cod sursa (job #425812)
Cod sursa(job #425812)
#include <cstdio>
FILE *in,*out;
int b[2][100005];
int a[500];
const int zero=50000, maxv=100000;
int main()
{
int n,m,s,nr,i,j,q;
in=fopen("diamant.in","r");
out=fopen("diamant.out","w");
fscanf(in,"%d%d%d",&n,&m,&s);
nr=0;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
{
nr++;
a[nr]=i*j;
}
b[0][zero]=1;
for (i=1;i<=nr;i++)
{
q=i%2;
for (j=0;j<=maxv;j++)
{
b[q][j]=b[!q][j];
if (j-a[i]>=0)
b[q][j]+=b[!q][j-a[i]];
if (j+a[i]<=maxv)
b[q][j]+=b[!q][j+a[i]];
b[q][j]%=10000;
}
}
if (s+zero<0||s+zero>maxv)
fprintf(out,"0\n");
else
fprintf(out,"%d\n",b[nr%2][s+zero]);
fclose(in);
fclose(out);
return 0;
}