Pagini recente » Cod sursa (job #1664307) | Cod sursa (job #356973) | Cod sursa (job #877561) | Cod sursa (job #1299477) | Cod sursa (job #1787732)
#include <fstream>
#include <string.h>
#define M 10000
#define SMAX 45000
using namespace std;
int n,m,x,aN[SMAX],aP[SMAX],bN[SMAX],bP[SMAX];
#define a(i) (((i)>=0)?(aP[(i)]):aN[-(i)])
#define b(i) (((i)>=0)?(bP[(i)]):bN[-(i)])
int main()
{
ios_base::sync_with_stdio(false);
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int s=0;
fin>>n>>m>>x;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
s+=i*j;
if(x<-s||x>s) {
fout<<"0\n";
return 0;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) {
memcpy(aN,bN,sizeof(bN));
memcpy(aP,bP,sizeof(bP));
for(int p=s;p>=-s;p--) {
b(p)=a(p)+a(p+i*j)+a(p-i*j);
b(p)%=M;
}
b(i*j)++;
b(-i*j)++;
}
if(x==0)
b(x)++;
fout<<b(x);
return 0;
}