Pagini recente » Cod sursa (job #1141448) | Cod sursa (job #2470758) | Cod sursa (job #2087103) | Cod sursa (job #1061321) | Cod sursa (job #1280354)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
#define MAX 44120
#define MOD 10000
int rez[MAX*2][2];
int n, m, x, i, j, k;
int main()
{
fin >> n >> m >> x;
rez[0+ 44100][1] = 1;
int dr = 0;
for(i = 1 ; i <= n ; i++)
{
for(j = 1 ; j <=m ; j++)
{
int v = (dr++) & 1;
for(k = -44100 ; k <= 44100 ; k++)
{
rez[k + 44100][v] = 0;
}
for(k = -44100 ; k <= 44100 ; k++)
{
k += 44100;
if(rez[k][v ^ 1])
{
rez[k][v] += rez[k][v ^ 1];
if(rez[k][v] >= MOD)
rez[k][v] -= MOD;
rez[k + i * j][v] += rez[k][v ^ 1];
if(rez[k + i * j][v] >= MOD)
rez[k + i * j][v] -= MOD;
rez[k - i * j][v] += rez[k][v ^ 1];
if(rez[k - i * j][v] >= MOD)
rez[k - i * j][v] -= MOD;
}
k -= 44100;
}
}
}
int v = (dr-1) & 1;
if(x >= -44100 && x <= 44100)
fout << rez[x + 44100][v] << "\n";
else
fout << 0 << "\n";
}