Cod sursa(job #371155)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 3 decembrie 2009 22:47:34
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>
#include <string.h>
#define Nmax 44100
#define M 10000

int a[M*10],b[M*10];
int n,m,i,j,x,q,Max;

int main(){
	freopen("diamant.in","r",stdin);
   freopen("diamant.out","w",stdout);
   scanf("%d%d%d",&n,&m,&x);
   Max=44100;
   if(x > Max){ printf("%d\n",0); }
   else{
   b[Max]=1;
   for(i=1;i<=n;++i)
     for(j=1;j<=m;++j){
     		for(q=-Max; q<=Max; q++)
         	a[q+Max] =(b[q+Max]+ b[q+Max-i*j]+b[q+Max+i*j]) % M;
         memcpy(b,a,sizeof(a));
     }
   printf("%d\n",b[x+Max]);
   }

   fclose(stdin); fclose(stdout);
   return 0;
}