Cod sursa(job #487360)

Utilizator freak93Adrian Budau freak93 Data 24 septembrie 2010 21:04:36
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#include<cstring>

using namespace std;

const char iname[]="diamant.in";
const char oname[]="diamant.out";
const int maxn=90000;

ifstream f(iname);
ofstream g(oname);

int a[maxn],b[maxn],i,n,j,k,p,m;

int main()
{
    f>>n>>m>>k;
    a[45000]=1;
    if(k<-44999||k>44999)
    {
        g<<"0\n";
        return 0;
    }
    for(i=1;i<=n;++i)
        for(j=1;j<=m;++j)
        {
            memcpy(b,a,sizeof(a));
            for(p=0;p<i*j;++p)
                a[p]=(b[p]+b[p+i*j])%10000;
            for(p=i*j;p<maxn;++p)
                a[p]=(b[p]+b[p-i*j]+((p+i*j<maxn)?b[p+i*j]:0))%10000;
        }
    g<<a[k+45000]<<"\n";
}