AT_abc282_g [ABC282G] Similar Permutation

题目描述

将 $ (1,2,\ldots,N) $ 的排列,以下简称为排列。 对于两个排列 $ A=(A_1,A_2,\ldots,A_N),B=(B_1,B_2,\ldots,B_N) $,定义它们的**相似度**为满足以下条件的 $ 1 $ 到 $ N-1 $ 之间的整数 $ i $ 的个数: - $ (A_{i+1}-A_i)(B_{i+1}-B_i) > 0 $ 请你求出所有相似度为 $ K $ 的排列对 $ (A,B) $ 的个数,并对素数 $ P $ 取模后输出。

输入格式

输入为标准输入,格式如下: > $ N $ $ K $ $ P $

输出格式

请输出答案。

说明/提示

### 限制条件 - $ 2 \leq N \leq 100 $ - $ 0 \leq K \leq N-1 $ - $ 10^8 \leq P \leq 10^9 $ - $ P $ 是素数 - 输入均为整数 ### 样例解释 1 例如,满足条件的一个排列对如下: - $ A=(1,2,3) $ - $ B=(1,3,2) $ 在这个例子中,$ (A_2 - A_1)(B_2 - B_1) > 0,\ (A_3 - A_2)(B_3 - B_2) < 0 $,因此 $ A $ 和 $ B $ 的相似度为 $ 1 $。 ### 样例解释 2 请对个数取 $ P $ 的余数后输出。 由 ChatGPT 4.1 翻译