Pagini recente » Cod sursa (job #2843957) | Cod sursa (job #1337039) | Cod sursa (job #1142927) | Cod sursa (job #1026087) | Cod sursa (job #932261)
Cod sursa(job #932261)
#include <fstream>
#define NMAX 5002
#define MOD 666013
using namespace std;
ifstream fin("kperm.in"); ofstream fout("kperm.out");
long long fact[NMAX], n, i, j, k, x, y, sol, af[NMAX], rs[NMAX];
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) % MOD;
x = n % k;
y = k - x;
sol = (fact[x] * fact[y]) % MOD;
for (i = 0; i < k; i++)
sol = (sol * fact[ rs[i]] ) % MOD;
fout << sol;
fin.close(); fout.close();
return 0;
}