Cod sursa(job #25688)

Utilizator fireatmyselfBogdan-Alexandru Stoica fireatmyself Data 4 martie 2007 14:11:30
Problema Kperm Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#define NMAX 5050
#define MOD 666013

int N, K, Ap[NMAX];
long long F[NMAX], Sol;

int main()
{
        int i, t;

        freopen("kperm.in", "r", stdin);
        scanf("%d %d", &N, &K);

        F[0] = 1;
        for (i = 1; i <= N; i++) F[i] = (F[i-1]*i)%MOD;

        for (i = 1; i <= K; i++) Ap[i] = N/K;
        t = 0;
        if (N%K>0)
           for (i = 1; i <= N%K; i++) Ap[i]++, t++;

        Sol = (F[t]*F[K-t])%MOD;
        for (i = 1; i <= K; i++)
            Sol = (Sol*F[ Ap[i] ])%MOD;

        t = 0;
        for (i = 1; i < K; i++) t += i;
        if (t%K != 0) Sol = 0;

        freopen("kperm.out", "w", stdout);
        printf("%lld\n", Sol);

        return 0;
        
}