Cod sursa(job #596097)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 15 iunie 2011 21:49:54
Problema Kperm Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>

using namespace std;

int main()
{
    int f1,f2,f3,f4,f5,f6,i,n,k,c,r,sol;
    freopen("kperm.in","r",stdin);
    freopen("kperm.out","w",stdout);
    scanf("%d %d\n",&n,&k);
    if (k%2==0)
    {
        printf("0\n");
        return 0;
    }
    c=n/k;
    r=n%k;
    for (f1=1,i=2;i<=r;++i)
        f1=(f1*i)%666013;
    for (f2=1,i=2;i<=k-r;++i)
        f2=(f2*i)%666013;
    for (f3=1,i=2;i<=c;++i)
        f3=(f3*i)%666013;
    f4=(f3*(c+1))%666013;
    for (f5=f3,i=2;i<=k-r;++i)
        f5=(f5*f3)%666013;
    for (f6=f4,i=2;i<=r;++i)
        f6=(f6*f4)%666013;
    sol=(f1*f2)%666013;
    sol=(sol*f5)%666013;
    sol=(sol*f6)%666013;
    printf("%d\n",sol);
    return 0;
}