Cod sursa(job #41084)

Utilizator pocaituDavid si Goliat pocaitu Data 27 martie 2007 22:30:49
Problema Diamant Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
#include<fstream.h>
#define nmax 400000
#define smax 164000
#define dad 160000
#define konst 10000

int s [nmax],s1 [nmax],n,m,x;

//#define s (s+100)
//#define s1 (s1+100)


int rez(int x)
{int k,i,j;
 for(i=1,s[0+dad]=1;i<=n;i++)
  for(j=1;j<=m;j++)
   {for(k=-smax;k<=smax;k++)
	  s1[k+dad]=(s[k-i*j+dad]+s[k+i*j+dad]+s[k+dad])%konst;
	memcpy(s,s1,sizeof(s));
	}

 return s[x+dad];
 }
void afis(int x)
{freopen("diamant.out","w",stdout);
 printf("%d",x);
 fclose(stdout);
 }



int main()
{freopen("diamant.in","r",stdin);
 scanf("%ld%ld%ld",&n,&m,&x);
 afis(rez(x));

 return 0;
 }