Pagini recente » Cod sursa (job #356120) | Cod sursa (job #684894) | Cod sursa (job #3142561) | Cod sursa (job #2569660) | Cod sursa (job #956296)
Cod sursa(job #956296)
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
ifstream f("diamante.in");
ofstream g("diamante.out");
const int mod=10000;
const int mx=50000;
int main()
{
int n,m,x;
f>>n>>m>>x;
vector<int> v;
int s=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
s+=i*j;
v.push_back(i*j);
}
if(abs(x)>s){
g<<0;
return 0;
}
vector<long long> u(2*mx+1,0);
vector<long long> ax(2*mx+1,0);
u[mx]=1;
for(size_t i=0;i<v.size();i++){
for(size_t j=v[i];j<2*mx+1;j++)
ax[j]+=u[j-v[i]];
for(size_t j=0;j<2*mx+1-v[i];j++)
ax[j]+=u[j+v[i]];
for(size_t j=0;j<2*mx+1;j++){
u[j]+=ax[j];
ax[j]=0;
while(u[j]>=mod)
u[j]-=mod;
}
}
g<<u[mx+x];
return 0;
}