Cod sursa(job #335497)

Utilizator freak93Adrian Budau freak93 Data 30 iulie 2009 09:37:09
Problema Kperm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream>

using namespace std;

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

const int mod=666013;

long long n,k,i,j,p,r,R,C;

int main()
{
    f>>n>>k;
    if(k%2==0||k>n)
    {
        g<<0<<"\n";
        f.close();
        g.close();

        return 0;
    }
    else if(n==2&&k==2)
    {
        g<<1<<"\n";
        f.close();
        g.close();

        return 0;
    }
    C=n/k;
    R=n%k;
    r=1;
    for(i=1;i<=R;++i)
        r*=i,r%=mod;
    for(i=1;i<=k-R;++i)
        r*=i,r%=mod;

    j=1;
    for(i=1;i<=C+1;++i)
        j*=i,j%=mod;
    for(i=1;i<=R;++i)
        r*=j,r%=mod;
    j=1;
    for(i=1;i<=C;++i)
        j*=i,j%=mod;
    for(i=1;i<=k-R;++i)
        r*=j,r%=mod;

    g<<r<<"\n";

    f.close();
    g.close();

    return 0;
}