Cod sursa(job #754973)

Utilizator Adela_BaciuAdela Baciu Adela_Baciu Data 4 iunie 2012 12:18:46
Problema Kperm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<cstdio>
const int MODULO=666013;
const int NMAX=5010;
int n,k;
int solve()
{
    int v[NMAX],i,x,y,sol;
    if(k%2==0)
        return 0;
    v[0]=1;
    for(i=1;i<=n;++i)
        v[i]=v[i-1]*(long long)i%MODULO;
    x=n%k;
    y=k-x;
    sol=(long long)v[x]*v[y]%MODULO;
    for(i=0;i<x;++i)
        sol=(long long)sol*v[n/k+1]%MODULO;
    for(i=0;i<y;++i)
        sol=(long long)sol*v[n/k]%MODULO;
    return sol;
}
int main()
{
    freopen("kperm.in","r",stdin);
    freopen("kperm.out","w",stdout);
    scanf("%d%d",&n,&k);
    printf("%d",solve());
    return 0;
}