Cod sursa(job #1341537)

Utilizator serban_ioan97Ciofu Serban serban_ioan97 Data 12 februarie 2015 20:47:16
Problema Diamant Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>
#define nmax 90090

using namespace std;

int a[nmax], b[nmax];
int n, m, x, i, j;

inline void add(short value)
{
    for(int i=value; i<=90000; ++i)
        b[i]+=a[i-value];
    for(int i=0; i<=90000; ++i)
        b[i]+=a[i+value];
    for(int i=0; i<=90000; ++i)
        a[i]=(a[i]+b[i])%10000, b[i]=0;
}

int main()
{
    freopen("diamant.in", "rt", stdin);
    freopen("diamant.out", "wt", stdout);

    scanf("%d%d%d", &n, &m, &x);
    a[45000]=1;

    for(i=1; i<=m; ++i)
        for(j=1; j<=n; ++j)
            add(i*j);

    printf("%hd", a[x+45000]);

    return 0;
}