Cod sursa(job #723390)

Utilizator mytzuskyMihai Morcov mytzusky Data 25 martie 2012 14:00:07
Problema Diamant Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>
#define s ((n)*(n+1)*(m)*(m+1))/(4)
#define M 10000

using namespace std;
int n,m,x,a[3][120000],la,lb=1;

int main()
{
    freopen ("diamant.in","r",stdin);
    freopen ("diamant.out","w",stdout);

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

    for(int i=1 ; i<=n ; ++i)
        for(int j=1 ; j<=m ; ++j, lb=la, la=1-la )
            for(int k=0, p=i*j ; k <= 2*s ; ++k )
                a[la][k] = (a[lb][k] + a[lb][k+p] + a[lb][k-p]) % M;
    printf("%d", a[lb][x+s]);
    return 0;
}