Cod sursa(job #1455893)

Utilizator GeiGeiGeorge Cioroiu GeiGei Data 29 iunie 2015 13:18:59
Problema Kperm Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>
#include <iostream>
#include <vector>
#include <set>
#include <cmath>
#define mod 666013

using namespace std;

int main() {
    freopen("kperm.in", "r", stdin);
    freopen("kperm.out", "w", stdout);

    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int n, k;
    cin >> n >> k;
    if (k % 2 == 0) {
        cout << 0;
        return 0;
    }
    int f[5005];
    f[0] = 1;
    for (int i = 1; i <= n; i++) {
        f[i] = (f[i - 1] * i) % mod;
    }
    int ans = (f[n % k] * f[k - n % k]) % mod;
    for (int i = 0; i < n % k; i++) {
        ans = (ans * f[n / k + 1]) % mod;
    }
    for (int i = 0; i < k - n % k; i++) {
        ans = (ans * f[n / k]) % mod;
    }
    cout << ans;

    return 0;
}