Pagini recente » Cod sursa (job #1214620) | Cod sursa (job #1253532) | Cod sursa (job #1430367) | Cod sursa (job #484973) | Cod sursa (job #1334379)
#include <iostream>
#include <fstream>
using namespace std;
int numereunu[100001],numeredoi[100001];
int main()
{
ifstream in("diamant.in");
ofstream out("diamant.out");
int i,j,n,m,x,minim=50000,maxim=50000,k,val;
bool contor=false;
in>>n;
in>>m;
in>>x;
x+=50000;
if (x>100000){out<<"0";return 0;}
if (x<0){out<<"0";return 0;}
numereunu[50000]++;
for (i=1;i<=n;i++)
{
for (j=1;j<=m;j++)
{
val=i*j;
if (contor==false)
{
contor=true;
for (k=minim-val;k<=maxim+val;k++)
{
numeredoi[k]=0;
}
for (k=minim;k<=maxim;k++)
{
numeredoi[k]+=numereunu[k];
numeredoi[k-val]+=numereunu[k];
numeredoi[k+val]+=numereunu[k];
}
minim-=val;
maxim+=val;
}
else
{
contor=false;
for (k=minim-val;k<=maxim+val;k++)
{
numereunu[k]=0;
}
for (k=minim;k<=maxim;k++)
{
numereunu[k]+=numeredoi[k];
numereunu[k-val]+=numeredoi[k];
numereunu[k+val]+=numeredoi[k];
}
minim-=val;
maxim+=val;
}
}
}
out<<max(numereunu[x],numeredoi[x])%10000;
}