Cod sursa(job #928314)

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


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];
        if(a[i]>MOD)
            a[i]%=MOD;
        b[i]=0;
    }
}

int main()
{
    int m,n,w,i,j;
    in>>m>>n>>w;
    if(w>44100)
        out<<"0\n";
    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;
}