Cod sursa(job #928289)

Utilizator gramatovici_paulGramatovici Paul gramatovici_paul Data 26 martie 2013 13:15:07
Problema Diamant Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#define C 50000


using namespace std;

ifstream in("diamant.in");
ofstream out("diamant.out");

int a[111111],b[111111];

void adauga(int val)
{
    int i;
    for(i=val;i<=2*C;++i)
    {
        b[i]+=a[i-val];
    }
    for(i=0;i<=2*C-val;++i)
    {
        b[i]+=a[i+val];
    }
    for(i=0;i<=2*C;++i)
    {
        b[i]+=a[i];
    }
    for(i=0;i<=2*C;++i)
    {
        a[i]=b[i];
        b[i]=0;
    }
}

int main()
{
    int m,n,w,i,j;
    in>>m>>n>>w;
    a[C]=1;
    for(i=1;i<=m;++i)
        for(j=1;j<=n;++j)
        {
            adauga(i*j);
        }
    out<<a[C+w]<<"\n";
    return 0;
}