Pagini recente » Cod sursa (job #1366738) | Cod sursa (job #2931607) | Borderou de evaluare (job #1377029) | Cod sursa (job #414571) | Cod sursa (job #2063322)
#include <cstdio>
#define NR 50000
#define MOD 10000
using namespace std;
int a[100001],adn[100001],sc[100001];
int main()
{
FILE *fin=fopen ("diamant.in","r");
FILE *fout=fopen ("diamant.out","w");
int n,m,x,i,j,k;
fscanf (fin,"%d%d%d",&n,&m,&x);
a[0+NR]=1;
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
for (k=100000-i*j;k>=0;k--){
if (a[k]!=0)
adn[k+i*j]=a[k];
if (a[100000-k]!=0)
sc[k-i*j]=a[k];
}
for (k=0;k<=100000;k++){
a[k]=(a[k]+adn[k]+sc[k])%MOD;
adn[k]=sc[k]=0;
}
}
}
x+=NR;
if (0<=x && x<=100000)
fprintf (fout,"%d",a[x]);
else fprintf (fout,"0");
return 0;
}