Cod sursa(job #739854)

Utilizator gramatovici_paulGramatovici Paul gramatovici_paul Data 23 aprilie 2012 23:15:49
Problema Kperm Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("kperm.in");
ofstream out("kperm.out");

long long n,k,fact1,fact2,fact3,fact31,fact4,fact41,rez,i,r,c;


int main()
{
    in>>n>>k;
    if(k%2==0)
    {
        out<<0<<"\n";
        return 0;
    }
    r=n%k;
    c=n/k;
    fact1=1;
    for(i=1;i<=r;++i)
    {
        fact1=(fact1*i)%666013;
    }
    fact2=1;
    for(i=1;i<=k-r;++i)
    {
        fact2=(fact2*i)%666013;
    }
    fact3=1;
    for(i=1;i<=c+1;++i)
    {
        fact3=(fact3*i)%666013;
    }
    fact31=1;
    for(i=1;i<=r;++i)
    {
        fact31=(fact31*fact3)%666013;
    }
    fact4=fact3/(c+1);
    fact41=1;
    for(i=1;i<=k-r;++i)
    {
        fact41=(fact41*fact4)%666013;
    }
    rez=(fact1*fact2)%666013;
    rez=(rez*fact31)%666013;
    rez=(rez*fact41)%666013;
    out<<rez<<"\n";
    return 0;
}