Cod sursa(job #25371)

Utilizator fireatmyselfBogdan-Alexandru Stoica fireatmyself Data 4 martie 2007 12:17:17
Problema Kperm Scor 40
Compilator c Status done
Runda preONI 2007, Runda 3, Clasele 11-12 Marime 0.72 kb
#include <stdio.h>
#define NMAX 5050
#define MOD 666013

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

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%i != 0) Sol = 0;

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

        return 0;
        
}