Pagini recente » Cod sursa (job #3182717) | Cod sursa (job #3149039) | Cod sursa (job #1640427) | Cod sursa (job #2697171) | Cod sursa (job #3297462)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
#define mij 44101
#define MOD 10000
short v[88203];
int st = mij, dr = mij;
void update ( int val )
{
vector <int> lazy (88203, 0);
int stanga = st, dreapta = dr;
for ( int i = stanga; i <= dreapta; i ++ )
{
if ( v[i] == 1 )
{
lazy[i + val] += v[i];
lazy[i - val] += v[i];
st = min ( st, i - val );
dr = max ( dr, i + val );
}
}
for ( int i = st; i <= dr; i ++ )
v[i] += lazy[i];
}
int main()
{
int n, m, c;
f >> n >> m >> c;
v[mij] = 1;
for ( int i = 1; i <= n; i ++ )
{
for ( int j = 1; j <= m; j ++ )
{
int val = i * j;
update (val);
}
}
g << v[mij + c];
return 0;
}