Pagini recente » Cod sursa (job #1677022) | Cod sursa (job #3127494) | Cod sursa (job #2551991) | Cod sursa (job #926905) | Cod sursa (job #871516)
Cod sursa(job #871516)
#include <fstream>
#define maxn 100000
#define mij 50000
int vec[maxn];
using namespace std;
ifstream in("diamant.in");
ofstream out("diamant.out");
int sol;
int n,m,s,maxval,maxi,mini,minval;
int abs(int x)
{
if(x<0) return -x;
return x;
}
void read()
{
in>>n>>m>>s;
vec[mij-1]=1,vec[mij+1]=1,vec[mij+0]=1,maxval=1,minval=-1;
if(s==-1 || s==1 || s==0) sol++;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
if(i==1 && j==1) continue;
for(int k=-50000;k<=50000;k++)
{
if(vec[k+mij]==0) continue;
int x=k+i*j;
int y=k;
int z=k-i*j;
if(abs(x)>50000 || abs(y)>50000 || abs(z)>50000) continue;
vec[x+mij]++;
vec[y+mij]++;
vec[z+mij]++;
if(i==n && j==m)
{
if(x==s) sol++;
if(y==s) sol++;
if(z==s) sol++;
sol%=10000;
}
if(x>maxi) maxi=x;
if(z<mini) mini=z;
}
minval=mini;
maxval=maxi;
}
}
int main()
{
read();
out<<sol%10000;
return 0;
}