Pagini recente » Cod sursa (job #1328976) | Cod sursa (job #1300853) | Cod sursa (job #2726503) | Cod sursa (job #1683141) | Cod sursa (job #1185380)
#include<iostream>
#include<cstdio>
#include<cmath>
#define MOD 10000
#define NMAX 100000
using namespace std;
int dc[NMAX], da[NMAX];
int main()
{
FILE *fin, *fout;
fin=fopen("diamant.in", "r");
fout=fopen("diamant.out", "w");
int C_MAX, n, m, i, x, j, aux1, aux2;
fscanf(fin, "%d %d %d", &m, &n, &x);
C_MAX = n*(n+1)/2*m*(m+1)/2;
for(j=0; j<=C_MAX; j++)
dc[0]=1,
da[0]=1;
for(i=1; i<=m*n; i++) {
aux1 = (i-1)/n+1;
aux2 = i%n;
if(aux2==0)
aux2=n;
for(j=0; j<=C_MAX; j++) {
dc[j] = da[j+aux1*aux2] + da[j];
if(j < aux1*aux2)
dc[j] += da[aux1*aux2-j];
else
dc[j] +=da[j-aux1*aux2];
}
for(j=0; j<=C_MAX; j++)
da[j]=dc[j];
}
fprintf(fout, "%d", dc[x]%MOD);
}