Pagini recente » Cod sursa (job #706318) | Cod sursa (job #1722978) | Cod sursa (job #2633216) | Cod sursa (job #2568715) | Cod sursa (job #1989700)
#include <iostream>
#include <fstream>
#define mod 10000
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
int n,m,x,w[4005],k,val,s;
int v[200005],last[200005];
#define v (v+100000)
#define last (last+100000)
void influenta(int n,int m)
{
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
++k;
w[k]=i*j;
}
}
}
int main()
{
f>>n>>m>>x;
influenta(n,m);
for(int j=1;j<=k;++j)
{
val=w[j];
for(int i=-s;i<=s;++i)
{
if(last[i]!=0)
{
v[i+val]+=(last[i+val]+last[i])%mod;
v[i-val]+=(last[i-val]+last[i])%mod;
}
}
s+=val;
v[val]=(v[val]+1)%mod;
v[-val]=(v[-val]+1)%mod;
for(int i=-s;i<=s;++i)
{
last[i]=v[i];
v[i]=0;
}
}
if(x>s) g<<'0';
else g<<last[x];
return 0;
}