Pagini recente » Cod sursa (job #1735168) | Cod sursa (job #2439581) | Cod sursa (job #1083001) | Cod sursa (job #546967) | Cod sursa (job #1185382)
#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];
dc[j]=dc[j]%MOD;
}
for(j=0; j<=C_MAX; j++)
da[j]=dc[j];
}
fprintf(fout, "%d", dc[x]);
}