Pagini recente » Cod sursa (job #108787) | Cod sursa (job #3218756) | Cod sursa (job #571422) | Cod sursa (job #515299) | Cod sursa (job #1901364)
#include <fstream>
#include <cstdlib>
#include <cmath>
#include <cstring>
#define A(i) (((i)<0)?(An[-(i)]):(Ap[(i)]))
#define B(i) (((i)<0)?(Bn[-(i)]):(Bp[(i)]))
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int cost[1001];
int Ap[60000],An[60000],Bp[60000],Bn[60000];
const int mod=10000;
int main()
{
int n,m,x,i,j;
fin>>n>>m>>x;
A(0)=1;
for(i=1;i<=n;i++)
{
for(int s=1;s<=m;s++)
{
memcpy(Bn,An,sizeof(An));
memcpy(Bp,Ap,sizeof(Ap));
for(j=50000;j>=-50000;j--)
{
A(j)=(B(j)+B(j-s*i)+B(j+s*i))%mod;
}
}
}
if(abs(x)>44100) fout<<0;
else
{
fout<<A(x);
}
}