Pagini recente » Cod sursa (job #1609849) | Concursuri | Cod sursa (job #2893292) | Cod sursa (job #1263564) | Cod sursa (job #279848)
Cod sursa(job #279848)
#include<stdio.h>
#include<string.h>
FILE*fin=fopen("diamant.in","r");
FILE*fout=fopen("diamant.out","w");
int n,m,sol[2][100010];
int t(int p)
{ return p+50000;}
int main()
{
int old,nw=0,dim=1,maxp=0,x,i,j,k;
memset(sol,0,sizeof(sol));
sol[0][50000]=1;
fscanf(fin,"%d%d%d",&n,&m,&x);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
nw=dim%2;old=!nw;
maxp+=i*j;
for(k=-maxp;k<=maxp;k++)
sol[nw][k+50000]=(sol[old][k+50000]+sol[old][k-i*j+50000]+sol[old][k+i*j+50000])%10000;
dim++;
}
if(x>=-50000&&x<=50000)
fprintf(fout,"%d",sol[nw][x+50000]);
else fprintf(fout,"0\n");
fclose(fin);
fclose(fout);
return 0;
}