Pagini recente » Cod sursa (job #3165910) | Cod sursa (job #1079959) | Cod sursa (job #365995) | Cod sursa (job #1227959) | Cod sursa (job #1989704)
#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];
v[i-val]+=last[i];
v[i]+=last[i];
}
}
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]%mod;
v[i]=0;
}
}
if(x>s || x<-s) g<<'0';
else g<<last[x];
return 0;
}