Cod sursa(job #360623)

Utilizator MKLOLDragos Ristache MKLOL Data 1 noiembrie 2009 12:11:46
Problema Diamant Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
#define Plus 400
int N,M,x,k=1;
int nr[400][900],Q;
int v[400];

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

scanf("%d %d %d",&N,&M,&x);
for(int i=1;i<=N;++i)
    for(int j=1;j<=M;++j)
            {
            v[k]=i*j;

            ++k;

            }
    nr[0][0+Plus]=1;
    Q=N*M;
    for(int i=1;i<=Q;++i)
        {

        for(int j=Q*10;j>=(-Q)*10;--j)
        {

        nr[i][j+Plus]=nr[i-1][j+Plus]+nr[i-1][j+Plus+v[i]]+nr[i-1][j+Plus-v[i]];
        nr[i][j+Plus]=nr[i][j+Plus]%10000;


        }


        }


printf("%d\n",nr[Q][x+Plus]);
}