Pagini recente » Cod sursa (job #86773) | Cod sursa (job #863330) | Cod sursa (job #2277028) | Cod sursa (job #3204884) | Cod sursa (job #2108763)
#include <fstream>
using namespace std;
ifstream cin ("diamant.in");
ofstream cout ("diamant.out");
int best[100010],cop[101001];
long long n,m,x;
#define best (best+50001)
#define cop (cop+50001)
void read ()
{
cin>>n>>m>>x;
}
void up_date (int val)
{
for(int i=50000-val;i>=-50000;i--)
if(best[i]!=0) cop[i+val]=(cop[i+val]+best[i])%10000;
}
void up_date_d (int val)
{
for(int i=-50000+val;i<=50000;i++)
if(best[i]!=0) cop[i+val]=(cop[i+val]+best[i])%10000;
}
void solve ()
{ int val;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
val=i*j;
up_date(val);
up_date_d(val*-1);
for(int i=-50000;i<=50000;i++) best[i]=(best[i]+cop[i])%10000,cop[i]=0;
best[val]=(best[val]+1)%10000;
best[-val]=(best[-val]+1)%10000;
}
cout<<best[x];
}
int main()
{
read();
if(x>50000 || x<-50000) {cout<<0; return 0;}
solve();
cin.close();
cout.close();
return 0;
}