AT_agc005_d [AGC005D] ~K Perm Counting
题目描述
[problemUrl]: https://atcoder.jp/contests/agc005/tasks/agc005_d
Snuke 非常喜欢排列,所以他决定创建一个长度为 $N$ 的排列。
但是 Snuke 不喜欢整数 $K$,因此他决定创建一个满足以下条件的排列:
- 设排列为 $a_1, a_2, ..., a_N$。对于所有的 $i = 1,2,...,N$,满足 $|a_i - i| \neq K$。
长度为 $N$ 的排列共有 $N!$ 种,其中满足条件的有多少种?由于答案可能非常大,请将答案对素数 $924844033$ 取模后输出。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $K$
输出格式
输出一行,包含答案对 $924844033$ 取模后的结果。
说明/提示
### 约束条件
- $2 \leq N \leq 2000$
- $1 \leq K \leq N-1$
### 样例解释 #1
$(1, 2, 3)$ 和 $(3, 2, 1)$ 共2种排列满足条件。
### 样例解释 #2
$(1, 2, 3, 4)$、$(1, 4, 3, 2)$、$(3, 2, 1, 4)$、$(3, 4, 1, 2)$、$(4, 2, 3, 1)$ 共5种排列满足条件。
翻译由 DeepSeek 提供。