CF285E.Positions in Permutations

省选/NOI-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Permutation p is an ordered set of integers _p_1,  _p_2,  ...,  p__n, consisting of n distinct positive integers, each of them doesn't exceed n. We'll denote the i-th element of permutation p as p__i. We'll call number n the size or the length of permutation _p_1,  _p_2,  ...,  p__n.

We'll call position i (1 ≤ i ≤ n) in permutation _p_1, _p_2, ..., p__n good, if |p[i] - i| = 1. Count the number of permutations of size n with exactly k good positions. Print the answer modulo 1000000007 (109 + 7).

排列 pp 是一个由 nn 个互不相同的正整数组成的有序集合 p1, p2, …, pnp_1,\,p_2,\,\dots,\,p_n,且每个数均不超过 nn。我们将排列 pp 的第 ii 个元素记为 pip_i。我们称 nn 为排列 p1, p2, …, pnp_1,\,p_2,\,\dots,\,p_n 的大小(或长度)。

在排列 p1, p2, …, pnp_1,\,p_2,\,\dots,\,p_n 中,若位置 ii(其中 1≤i≤n1 \le i \le n)满足 ∣p[i]−i∣=1|p[i] - i| = 1,则称该位置为好位置。请计算长度为 nn 且恰好有 kk 个好位置的排列个数,并将结果对 10000000071000000007(即 109+710^9 + 7)取模后输出。

输入格式

The single line contains two space-separated integers n and k (1 ≤ n ≤ 1000, 0 ≤ k ≤ n).

单行包含两个以空格分隔的整数 nn 和 kk(1 ≤ n ≤ 10001 ≤ n ≤ 1000,0 ≤ k ≤ n0 ≤ k ≤ n)。

输出格式

Print the number of permutations of length n with exactly k good positions modulo 1000000007 (109 + 7).

输出长度为 nn 且恰好有 kk 个“好位置”的排列个数对 10000000071000000007(即 109+710^9 + 7)取模的结果。

输入输出样例

  • 输入#1

    1 0

    输出#1

    1
  • 输入#2

    2 1

    输出#2

    0
  • 输入#3

    3 2

    输出#3

    4
  • 输入#4

    4 1

    输出#4

    6
  • 输入#5

    7 4

    输出#5

    328

说明/提示

The only permutation of size 1 has 0 good positions.

Permutation (1, 2) has 0 good positions, and permutation (2, 1) has 2 positions.

Permutations of size 3:

  1. (1, 2, 3) — 0 positions
  2. — 2 positions
  3. — 2 positions
  4. — 2 positions
  5. — 2 positions
  6. (3, 2, 1) — 0 positions

大小为 1 的唯一排列有 0 个好位置。

排列 (1, 2)(1,\,2) 有 0 个好位置,而排列 (2, 1)(2,\,1) 有 2 个好位置。

大小为 3 的排列:

  1. (1, 2, 3)(1,\,2,\,3) — 0 个好位置
  2. — 2 个好位置
  3. — 2 个好位置
  4. — 2 个好位置
  5. — 2 个好位置
  6. (3, 2, 1)(3,\,2,\,1) — 0 个好位置

输入解题思路,AI测评打分。不知道怎么写?

首页