Pagini recente » Cod sursa (job #1397295) | Cod sursa (job #306960) | Cod sursa (job #1608161) | Cod sursa (job #2283606) | Cod sursa (job #2395697)
#include <fstream>
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
int n,m,i,j,k,x,s,d[2][100001],t,s2,mod=10000,y;
int invers(int x)
{
if(x<0)
{
return 45000-x;
}
else
{
return x;
}
}
int main()
{
f>>n>>m>>x;
for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
{
s+=i*j;
}
}
if(x>s || x<-s)
{
g<<0;
}
else
{
t=1;
d[0][0]=1;
s2=0;
for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
{
s2+=i*j;
for(k=-s2; k<=s2; k++)
{
y=invers(k);
d[t][y]=d[1-t][y];
if(k-i*j>=-s)
{
d[t][y]=(d[t][y]+d[1-t][invers(k-i*j)])%mod;
}
if(k+i*j<=s)
{
d[t][y]=(d[t][y]+d[1-t][invers(k+i*j)])%mod;
}
}
t=1-t;
}
}
g<<d[1-t][invers(x)];
}
}