Cod sursa(job #921276)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 20 martie 2013 21:22:46
Problema Kperm Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream>
#define MOD 666013

using namespace std;

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

long long n, k, w, t, REZ, u, p=1;
int i;

long long fact(int x)
{
    long long p=1;
    int i;

    for (i=2; i<=x; ++i) p=(p*i)%MOD;

    return p;
}

int main()
{
    f>>n>>k;

    if (n%2==0) g<<"0\n";
    else
    {
        w=n%k;
        t=n/k;

        REZ=fact(w);
        REZ=(REZ*fact(k-w))%MOD;

        u=fact(t+1); p=1;

        for (i=1; i<=w; ++i) p=(p*u)%MOD;

        REZ=(REZ*p)%MOD;

        u=fact(t); p=1;

        for (i=1; i<=k-w; ++i) p=(p*u)%MOD;

        REZ=(REZ*p)%MOD;
    }

    g<<REZ<<"\n";

    f.close();
    g.close();
    return 0;
}