Cod sursa(job #34364)

Utilizator sims_glAlexandru Simion sims_gl Data 20 martie 2007 18:01:59
Problema Diamant Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>

#define max 200000
#define mod 10000

int n, m, s, c[max];

int main()
{
	int i, j, k;

	freopen("5-diamant.in", "r", stdin);
    freopen("5-diamant.out", "w", stdout);

    scanf("%d%d%d", &n, &m, &s);

    if (s < -100000 || s > 100000)
    {
    	printf("0\n");
        return 0;
    }

    c[0] = 1;

    for (i = 1; i <= n; ++i)
    	for (j = 1; j <= m; ++j)
        	for (k = max - 1; k >= 0; --k)
            	if (c[k])
                {
                	c[k + i * j] = (c[k + i * j] + c[k]) % mod;
                	c[k + 2 * i * j] = (c[k + 2 * i * j] + c[k]) % mod;
                }

    printf("%d\n", c[s + (n + 1) * n * (m + 1) * m / 4]);

	return 0;
}