Pagini recente » Cod sursa (job #50690) | Cod sursa (job #2584532) | Cod sursa (job #264460) | Cod sursa (job #757739) | Cod sursa (job #1787674)
#include <fstream>
#include <iostream>
#define DIM 405
#define M 10000
#define SMAX 45000
using namespace std;
int n,m,x,sol[DIM][SMAX],obj[DIM];
int main()
{
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++) {
obj[++obj[0]]=i*j;
s+=i*j;
}
if(x<-s||x>s) {
fout<<"0";
return 0;
}
for(int i=1;i<=obj[0];i++) {
for(int j=2*s;j>=obj[i];j--)
sol[i][j]=(sol[i-1][j]%M+sol[i-1][j-obj[i]]%M+sol[i-1][j+obj[i]]%M)%M;
for(int j=obj[i]-1;j>=0;j--)
sol[i][j]=sol[i-1][j]%M;
sol[i][obj[i]+s]=(sol[i][obj[i]+s]+1)%M;
sol[i][-obj[i]+s]=(sol[i][-obj[i]+s]+1)%M;
}
fout<<sol[obj[0]][x+s];
return 0;
}