Pagini recente » Cod sursa (job #3289120) | Cod sursa (job #613687) | Cod sursa (job #3231987) | Cod sursa (job #455332) | Cod sursa (job #1800281)
//
// main.cpp
// Diamant
//
// Created by Nasca Sergiu Alin on 07/11/2016.
// Copyright © 2016 Nasca Sergiu Alin. All rights reserved.
//
#include <iostream>
#define D_MAX 200050
#define ADD_MORE 100000
using namespace std;
int a[D_MAX], b[D_MAX];
int main(int argc, const char * argv[])
{
freopen("diamant.in", "r", stdin);
freopen("diamant.out", "w", stdout);
int n, m, x, val = 0, min = 0, max = 0;
scanf("%d %d %d", &n, &m, &x);
a[ADD_MORE] = 1;min = ADD_MORE; max = ADD_MORE;
for(int i = 1; i <= n; ++i)
{
for(int j = 1; j <= m; ++j)
{
val = i*j;
for(int k = min; k <= max; ++k)
{
b[k + val] = (b[k + val] + a[k]) % 10000;
b[k] = (b[k] + a[k]) % 10000;
b[k - val] = (b[k - val] + a[k]) % 10000;
}
min = min - val;
max = max + val;
for(int k = min; k <= max; ++k)
{
a[k] = b[k] % 10000;
b[k] = 0;
}
}
}
if(x < -100000 || x > 100000)
{
printf("0\n");
return 0;
}
printf("%d\n", a[x + ADD_MORE] % 10000);
return 0;
}