Cod sursa(job #921924)

Utilizator lianaliana tucar liana Data 21 martie 2013 20:32:28
Problema Kperm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
#define nmax 5005
#define modulo 666013
long long fact[nmax], n, k, i, rez, ng, r;

int main()
{
    freopen("kperm.in","r",stdin);
    freopen("kperm.out","w",stdout);
    scanf("%ld %ld",&n,&k);
    if (k%2==1)
    {
        fact[0]=1;
        for(i=1;i<=n;i++)
            fact[i]=(fact[i-1]*i)%modulo;
        ng=n/k; r=n-(k*ng);
        rez=(fact[r]*fact[k-r])%modulo;
        for (i=1;i<=r;i++)
            rez=(rez*fact[ng+1])%modulo;
        for (i=1;i<=k-r;i++)
            rez=(rez*fact[ng])%modulo;
        printf("%ld",rez);
    }
    else
        printf("0");
    return 0;
}