Cod sursa(job #723387)

Utilizator mytzuskyMihai Morcov mytzusky Data 25 martie 2012 13:58:38
Problema Diamant Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <stdio.h>
#define s ((n)*(n+1)*(m)*(m+1))/(4)

using namespace std;
int n,m,x,a[2][100000],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];
    printf("%d", a[lb][x+s]);
    return 0;
}