Pagini recente » Cod sursa (job #2335631) | Cod sursa (job #1265144) | Cod sursa (job #1314008) | Cod sursa (job #1068917) | Cod sursa (job #2150446)
#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;
int v[2*DIM],w[2*DIM];
int *D = v + DIM;
int *E = w + DIM;
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];
for (k=mini;k<=maxi;k++)
if (D[k] != 0){
E[k+i*j] += D[k];
E[k-i*j] += D[k];
if (E[k+i*j] >= MOD)
E[k+i*j] -= MOD;
if (E[k-i*j] >= MOD)
E[k-i*j] -= MOD;
}
/// copiem pe w in v
mini -= i*j;
maxi += i*j;
for (k=mini;k<=maxi;k++)
D[k] = E[k];
}
fout<<D[x];
return 0;
}