Cod sursa(job #1094012)

Utilizator acomAndrei Comaneci acom Data 28 ianuarie 2014 20:35:31
Problema Diamant Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<cstdio>
using namespace std;
#define MOD 10000
int n,m,t,x,a[200000],b[200000],*p=a+100000,*q=b+100000;
int main()
{
    int i,j,k;
    freopen("diamant.in","r",stdin);
    freopen("diamant.out","w",stdout);
    scanf("%d%d%d",&n,&m,&x);
    p[-1]=p[0]=p[1]=1, t=1;
    for (i=1;i<=n;++i)
        for (j=1;j<=m;++j)
            if (i!=1 || j!=1)
            {
                t+=i*j;
                for (k=-t;k<=t;++k)
                    q[k]=(p[k-i*j]+p[k]+p[k+i*j])%MOD;
                for (k=-t;k<=t;++k)
                    p[k]=q[k];
            }
    printf("%d\n",p[x]);
    return 0;
}