Pagini recente » Cod sursa (job #1156351) | Cod sursa (job #1174126) | Cod sursa (job #2647489) | Cod sursa (job #2203051) | Cod sursa (job #1156347)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("kperm.in");
ofstream fout("kperm.out");
long long fact[5002], n, i, j, k, x, y, sol, af[5002], rs[5002];
int main()
{
fin >> n >> k;
if (( k * (k + 1) / 2 ) % k != 0 )
{
fout << 0;
return 0;
}
for (i = 1; i <= n; i++)
{
j = i % k;
rs[j]++;
af[j]++;
}
fact[0] = 1;
for (i = 1; i <= n; i++)
fact[i] = (fact[i - 1] * i) % 666013;
x = n % k;
y = k - x;
sol = (fact[x] * fact[y]) % 666013;
for (i = 0; i < k; i++)
sol = (sol * fact[ rs[i]] ) % 666013;
fout << sol;
fin.close(); fout.close();
return 0;
}