Pagini recente » Cod sursa (job #2375810) | Cod sursa (job #1863654) | Cod sursa (job #2971721) | Cod sursa (job #2767092) | Cod sursa (job #2543187)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int v[44105], dp[3][90300];
int main()
{
int n, m, i, j, c=45100, s=0, nr=0;
int x;
fin >> n >> m >> x;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
{
nr++;
v[nr]=i*j;
s+=v[nr];
}
if(s<x || -s>x) fout << 0;
else
{
// c=9;
for(i=1; i<=n*m; i++)
{
if(i%2==1)
{
for(j=-s; j<=s; j++)
dp[1][j+c]=(dp[2][j+c]+dp[2][j+c-v[i]]+dp[2][j+c+v[i]])%10000;
dp[1][v[i]+c]++;
// dp[1][c]++;
dp[1][c-v[i]]++;
}
else
{
for(j=-s; j<=s; j++)
dp[2][j+c]=(dp[1][j+c]+dp[1][j+c-v[i]]+dp[1][j+c+v[i]])%10000;
dp[2][v[i]+c]++;
dp[2][c-v[i]]++;
// dp[2][c]++;
}
}
dp[1][c]++;
dp[2][c]++;
if(n*m%2==0) fout << dp[2][x+c];
else fout <<dp[1][x+c];
}
return 0;
}