Cod sursa(job #928306)

Utilizator gramatovici_paulGramatovici Paul gramatovici_paul Data 26 martie 2013 13:18:21
Problema Diamant Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 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]=(b[i]+a[i-val])%MOD;
    }
    for(i=0;i<=2*C-val;++i)
    {
        b[i]=(b[i]+a[i+val])%MOD;
    }
    for(i=0;i<=2*C;++i)
    {
        b[i]=(b[i]+a[i])%MOD;
    }
    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;
    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;
}