Pagini recente » Cod sursa (job #805855) | Cod sursa (job #2602324) | Cod sursa (job #1893919) | Cod sursa (job #40387) | Cod sursa (job #2224173)
#include <fstream>
#include <cstdlib>
#define M 10000
#define N 44200
using namespace std;
int s[405],dp[3][90000];
int main()
{
ifstream f("diamant.in");
ofstream g("diamant.out");
int n,m,sum=0,k=0;
long long x;
f>>n>>m>>x;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
s[++k]=i*j;
sum+=i*j;
}
if(abs(x)>sum)
{
g<<0;
return 0;
}
x+=N;
dp[0][N]=1;
for(int i=1;i<=k;i++)
for(int j=1;j<=2*N;j++)
{
dp[i%2][j]=dp[1-i%2][j];
dp[i%2][j]+=dp[1-i%2][j+s[i]];
if(j>=s[i])
dp[i%2][j]+=dp[1-i%2][j-s[i]];
dp[i%2][j]%=M;
}
g<<dp[k%2][x];
return 0;
}