Cod sursa(job #204118)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 21 august 2008 21:46:01
Problema Kperm Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>

#define N_MAX 5010
#define MOD 666013
#define LL long long

LL fact[N_MAX];
int i,j,r,N,K,sum;
LL sol;

int main()
{
freopen("kperm.in","rt",stdin);
scanf("%d %d", &N, &K);
fact[0]=1;
for (i=1;i<=N;++i)
     fact[i]=(fact[i-1]*i)%MOD;
r=N%K;
sum=(K*(K-1))/2;
sol=fact[r]%MOD;
freopen("kperm.out","wt",stdout);
if (sum%K!=0)
    {
    printf("0\n");
    exit(0);
    }
for (i=1;i<=r;++i)
     sol=(sol*fact[(N/K)+1])%MOD;
     sol=(sol*fact[K-r])%MOD;
for (i=r+1;i<=K;++i)
     sol=(sol*fact[N/K])%MOD;
printf("%lld\n",sol);
return 0;
}