Pagini recente » Cod sursa (job #2246983) | Cod sursa (job #291170) | Cod sursa (job #1757064) | Cod sursa (job #1878340) | Cod sursa (job #2150871)
#include <fstream>
#define DIM 45000
#define MOD 10000
using namespace std;
ifstream fin ("diamant.in");
ofstream fout ("diamant.out");
int n,m,x,mini,maxi,i,j,k,nr;
int v[2*DIM],w[2*DIM];
int *D = v + DIM-2;
int *E = w + DIM-2;
int main (){
fin>>n>>m>>x;
D[0] = 1;
mini = maxi = 0;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++){
/// copiem pe v in w
for (k=mini;k<=maxi;k++)
E[k] = D[k];
nr = i*j;
for (k=mini;k<=maxi;k++)
if (D[k] != 0){
E[k+nr] += D[k];
E[k-nr] += D[k];
if (E[k+nr] >= MOD)
E[k+nr] -= MOD;
if (E[k-nr] >= MOD)
E[k-nr] -= MOD;
}
/// copiem pe w in v
mini -= nr;
maxi += nr;
for (k=mini;k<=maxi;k++)
D[k] = E[k];
}
if (x >= mini && x <= maxi)
fout<<D[x];
else
fout<<0;
return 0;
}