Cod sursa(job #27080)

Utilizator sims_glAlexandru Simion sims_gl Data 6 martie 2007 07:51:23
Problema Kperm Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>

#define nm 5010
#define mod 666013

int n, k, f[nm], sol;

int main()
{
	int i, j;

	freopen("kperm.in", "r", stdin);
    freopen("kperm.out", "w", stdout);

    scanf("%d%d", &n, &k);

    if (k % 2 == 0)
    {
    	printf("0\n");
    }
    else
    {
        for (f[0] = i = 1; i <= k; ++i)
        	f[i] = ((long long)f[i - 1] * i) % mod;
    
        for (sol = 1, i = 1; i <= k; ++i)
        	sol = ((long long)sol * f[(n - i) / k + 1]) % mod;
    
        sol = ((long long)sol * f[n % k]) % mod;
        sol = ((long long)sol * f[k - (n % k)]) % mod;
    
        printf("%d\n", sol);
    }
    
	return 0;
}