Cod sursa(job #237986)

Utilizator marcelcodreaCodrea Marcel marcelcodrea Data 31 decembrie 2008 00:38:51
Problema Kperm Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>
#define MOD 666013
int fact[5005];
int r;
int c;
int n;
int prt;
int k;
int pr1;
int pr2;

int main()
{
    freopen("kperm.in","r",stdin);
    freopen("kperm.out","w",stdout);
    fact[0] = 1;
    for(int i = 1; i <= 5000; i++)
     fact[i] = (fact[i-1] * i) % MOD;
    scanf("%d %d",&n,&k);
    if (k % 2 == 0) printf("0\n");
     else
    {
    r = n % k;
    c = n / k;
    pr1 = 1;
    pr2 = 1;
    for(int i = 1; i <= r; i++)
     pr1 = (pr1 *fact[c+1]) % MOD;
    for(int i = 1; i <= k-r; i++)
     pr2 = (pr2 *fact[c]) % MOD;

    prt = (fact[r] * fact[k-r]) % MOD;
    prt = (prt * pr1 * pr2) % MOD;
    printf("%d\n",prt);
    }
    return 0;
}