Pagini recente » Cod sursa (job #1383698) | Cod sursa (job #1133476) | Cod sursa (job #63651) | Cod sursa (job #738128) | Cod sursa (job #994650)
Cod sursa(job #994650)
#include <iostream>
#include <fstream>
#define vmax 49000
#define smax 50000
#define mod 10000
using namespace std;
int n, m, x, lower, upper;
short cur[2*smax], pre[2*smax];
#define cur (cur+smax)
#define pre (pre+smax)
int main() {
ifstream f("diamant.in");
ofstream g("diamant.out");
f>>n>>m;
f>>x;
if(x > 44100 || x < -44100) {
g<<"0\n";
return 0;
}
lower = 0;
upper = 0;
for(int i=1; i<=n; i++) {
for(int j=1; j<=m; j++) {
lower -= i*j;
upper += i*j;
for(int val=lower; val<=upper; val++)
cur[val] = (pre[val] + pre[val-i*j] + pre[val+i*j])%mod;
cur[i*j]++;
cur[-i*j]++;
for(int val=-vmax; val<=vmax; val++) pre[val] = cur[val];
}
}
//for(int i=1; i<=x; i++) cout<<cur[i]<<" "; cout<<"\n\n";
//cout<<cur[x]<<"\n";
g<<cur[x]%mod<<"\n";
return 0;
}