Cod sursa(job #612148)

Utilizator crushackPopescu Silviu crushack Data 6 septembrie 2011 06:56:09
Problema Kperm Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>
#define NMax 5010

const char IN[]="kperm.in",OUT[]="kperm.out";
const int mod=666013;

int N,K;
long long P[NMax];

void init(){
    P[0]=1;
    for (int i=1;i<=N;++i) P[i]=P[i-1]*i%mod;
}

int main()
{
    int i,c,d;
    freopen(IN,"r",stdin);
    scanf("%d%d",&N,&K);
    fclose(stdin);

    init();c= N/K+1; d= N%K ;
    long long r= P[d];

    for (i=0;i<d;++i)
        r= r*P[c]%mod;
    r=r*P[K-d]%mod;
    for (i=1;i<=K-d;++i)
        r= r*P[c-1]%mod;

    freopen(OUT,"w",stdout);
    printf("%lld\n",r);
    fclose(stdout);
    return 0;
}