Pagini recente » Cod sursa (job #214730) | Cod sursa (job #2014267) | Cod sursa (job #2817085) | Cod sursa (job #2095197) | Cod sursa (job #831438)
Cod sursa(job #831438)
#include <cstdio>
using namespace std;
const int mod = 10000;
int obt[2][1<<17];
int query(int n,int m,int x)
{
int i,j,k;
const int offset = 50000;
bool c =0;
int c_off = 0;
obt[1][offset]=1;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
c_off+=(i*j);
if(c_off < x)
return 0;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j,c^=1)
for(k=-c_off;k<=c_off;++k)
{
obt[c][k+offset] = obt[!c][k+i*j + offset] + obt[!c][k + offset] + obt[!c][k-i*j + offset];
obt[c][k+offset] %= mod;
}
return obt[c^1][x+offset];
}
int main()
{
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
int n,m,x;
scanf("%d %d %d",&n,&m,&x);
if(x < 0)
x=-x;
printf("%d",query(n,m,x));
return 0;
}