Pagini recente » Cod sursa (job #2903046) | Cod sursa (job #1920131) | Cod sursa (job #2650318) | Cod sursa (job #870957) | Cod sursa (job #1774853)
#include<cstdio>
#include<cstring>
const int SMAX=50000,SMIN=-50000,MOD=10000;
int d[4][1<<16];
#define JegA(i) (((i)<0)?(d[1][-(i)]):(d[0][(i)]))
#define JegB(i) (((i)<0)?(d[3][-(i)]):(d[2][(i)]))
int main()
{
FILE *in=fopen("diamant.in","r");
int n,m,x;
fscanf(in,"%d %d %d ",&n,&m,&x);
fclose(in);
FILE *out=fopen("diamant.out","w");
if(x>SMAX)
{
fprintf(out,"%d\n",0);
fclose(out);
return 0;
}
d[0][0]=1;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
memcpy(d[2],d[0],sizeof d[0]);
memcpy(d[3],d[1],sizeof d[1]);
for(int s=SMAX;s>=SMIN;s--)
{
JegA(s)=JegB(s-i*j)+JegB(s)+JegB(s+i*j);
JegA(s)%=MOD;
}
}
}
fprintf(out,"%d\n",JegA(x));
fclose(out);
return 0;
}