Cod sursa(job #185321)

Utilizator VmanDuta Vlad Vman Data 25 aprilie 2008 00:57:38
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
#include <cstring>

int N,M,X,S;
int i,j,k;
int A[90000],A2[90000];

inline int modul(int a) { return a>0?a:-a; }

int main()
{
 freopen("diamant.in","r",stdin);
 freopen("diamant.out","w",stdout);
 scanf("%d %d %d",&N,&M,&X);
 
 if (X<0) X=-X;
 A2[45000]=1;
 
 for (i=1;i<=N;++i)
     for (j=1;j<=M;++j)
        {
         memcpy(A,A2,sizeof(A2));
         for (k=-S; k<=S; ++k)
             {
              A2[45000+k+i*j]+=A[k+45000];
              A2[45000+k+i*j]%=10000;
              A2[45000+k-i*j]+=A[k+45000];
              A2[45000+k-i*j]%=10000;
             }
         S+=i*j;    
        }
 
 if (X<=S) printf("%d",A2[X+45000]);
    else printf("%d",0);
 fclose(stdout);
 return 0;
}