Cod sursa(job #361512)

Utilizator PavelRazvanPavel Razvan PavelRazvan Data 5 noiembrie 2009 16:48:37
Problema Diamant Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
#define DIM 25
int x,q,a[DIM*DIM],sol;
void back (int k,int s)
{
    if(s==x)
        ++sol;
    else
    {
        if(k==q+1)
        {
            if(s==x)
                ++sol;
        }
        else
        {
            back(k+1,s-a[k]);
            back(k+1,s);
            back(k+1,s+a[k]);
        }
    }
}
int main ()
{
    freopen("diamant.in","r",stdin);
    freopen("diamant.out","w",stdout);
    int n,m,i,j;
    scanf("%d%d%d",&n,&m,&x);
    for(i=1;i<=n;++i)
        for(j=1;j<=m;++j)
            a[++q]=i*j;
    back(1,0);
    printf("%d",sol);
    return 0;
}