Cod sursa(job #341371)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 18 august 2009 12:08:52
Problema Kperm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
#define mod 666013
int n,k,r,c;
int v[5005];

void calc()
{
	int i;
	v[0]=1;
	for(i=1;i<=5000;i++)
		v[i]=((long long)v[i-1]*i)%mod;
}

void rez()
{
	freopen("kperm.in","r",stdin);
	freopen("kperm.out","w",stdout);
	scanf("%d%d",&n,&k);
	r=n%k;
	c=n/k;
	int suma=k*(k-1)/2;
	if(suma%k)
	{
		printf("0\n");
		return;
	}
	long long sol=1;
	sol=(sol*v[r]*v[k-r])%mod;
	int i;
	for(i=1;i<=r;i++)
		sol=(sol*v[c+1])%mod;
	for(;i<=k;i++)
		sol=(sol*v[c])%mod;
	printf("%lld\n",sol);
}

int main()
{
	calc();
	rez();
	return 0;
}