Pagini recente » Cod sursa (job #378353) | Cod sursa (job #2065884) | Cod sursa (job #2354596) | Cod sursa (job #820754) | Cod sursa (job #178796)
Cod sursa(job #178796)
#include<fstream.h>
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int n,m,x,li,ls,v[2][100000],mod=10000,Nmax;
int main()
{fin>>n>>m>>x;
Nmax=n*(n+1)*m*(m+1)/4;
if(x>Nmax || x<-Nmax) fout<<"0";
else
if(x==Nmax || x==-Nmax) fout<<"1";
else
{int i,j,g,k;
v[0][Nmax]=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{k=(i-1)*m+j;
for(g=li;g<=ls;g++) v[k%2][Nmax+g]=0;
for(g=li;g<=ls;g++)
if(v[(k-1)%2][Nmax+g]>0)
{v[k%2][Nmax+g-i*j]+=v[(k-1)%2][Nmax+g];
v[k%2][Nmax+g-i*j]%=mod;
v[k%2][Nmax+g]+=v[(k-1)%2][Nmax+g];
v[k%2][Nmax+g]%=mod;
v[k%2][Nmax+g+i*j]+=v[(k-1)%2][Nmax+g];
v[k%2][Nmax+g+i*j]%=mod;
}
li-=i*j;
ls+=i*j;
}
fout<<v[(n*m)%2][Nmax+x];
}
fin.close();
fout.close();
}