Cod sursa(job #515921)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 22 decembrie 2010 18:07:21
Problema Kperm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>
#define NMAX 5005
#define MOD 666013
#define ll long long
int n,k,cat,rest;
ll rez,fact[NMAX];
int main()
{
	freopen("kperm.in","r",stdin);
	freopen("kperm.out","w",stdout);
	scanf("%d%d",&n,&k);
	if (k % 2==0)
	{
		printf("0\n");
		return 0;
	}
	int i;
	fact[0]=1;
	for (i=1; i<=n; i++)
		fact[i]=(fact[i-1]*i)%MOD;
	cat=n/k+1; rest=n%k;
	rez=fact[rest];
	for (i=1; i<=rest; i++)
		rez=(rez*fact[cat])%MOD;
	rez=(rez*fact[k-rest])%MOD;
	for (i=1; i<=k-rest; i++)
		rez=(rez*fact[cat-1])%MOD;
	printf("%lld\n",rez);
	return 0;
}