Cod sursa(job #34794)

Utilizator m_dersidanDersidan Mihai m_dersidan Data 21 martie 2007 13:58:12
Problema Diamant Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
# include <stdio.h>
# include <string.h>

# define  _fin  "diamant.in"
# define  _fout "diamant.out"

# define  maxn  45000
# define  size	50000


inline int abs(int x){ return x<0?-x:x; }

int a[size], b[size];

int main()
{
	freopen(_fin, "r", stdin);
	freopen(_fout,"w", stdout);
	
	int i, j, s, n, m, k;
	
	scanf("%d%d%d", &n, &m, &k);
	if ( k > maxn ) {
		printf("0\n");
		return 0;
	}
	
	a[0]=1;
	for (i=1; i<=n; i++)
		for (j=1; j<=m; j++) {
			memcpy(b, a, sizeof(a));
			
			for (s=0; s<maxn; s++)
				a[s] = ( b[abs(s-i*j)] + b[s] + b[s+i*j] ) % 10000;
//				a(s)=(b(s-i*j)+b(s)+b(s+i*j))%10000;
		}

	printf("%d\n", a[k]);
	
	return 0;
}