Cod sursa(job #984229)

Utilizator stefanzzzStefan Popa stefanzzz Data 13 august 2013 20:53:03
Problema Kperm Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#define MAXN 5005
#define NRM 666013
using namespace std;
ifstream f("kperm.in");
ofstream g("kperm.out");

int n,k,perm[MAXN],a,b,x,sol,p;

int main()
{
    int i;
    f>>n>>k;
    perm[0]=1;
    for(i=1;i<=n;i++)
        perm[i]=(1LL*perm[i-1]*i)%NRM;
    a=n%k;
    b=k-a;
    if(k%2==0){
        g<<"0\n";
        return 0;}
    sol=perm[a]*perm[b];
    x=perm[n/k];
    p=1;
    for(i=1;i<=b;i++)
        p=(1LL*p*x)%NRM;
    sol=(1LL*sol*p)%NRM;
    x=perm[n/k+1];
    p=1;
    for(i=1;i<=a;i++)
        p=(1LL*p*x)%NRM;
    sol=(1LL*sol*p)%NRM;
    g<<sol<<'\n';
    f.close();
    g.close();
    return 0;
}