AT_cpsco2019_s3_f.Flexible Permutation

通过率:0%

AC君温馨提醒

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

题目描述

给定一个正整数 NN。

共有 N!N! 种不同的方式可以排列 1,2,…,N1, 2, \ldots, N 组成一个序列 P1,P2,…,PNP_1, P_2, \ldots, P_N。您需要编写一个程序,计算出满足以下条件的排列个数,并将结果对 109+710^9 + 7 取模后输出:

  • 恰好有 AA 个位置 ii 满足 Pi>iP_i > i;
  • 恰好有 BB 个位置 ii 满足 Pi<iP_i < i;
  • 恰好有 N−A−BN - A - B 个位置 ii 满足 Pi=iP_i = i。

输入格式

输入格式为一行,包含三个整数:

NN AA BB

输出格式

输出满足以上条件的排列个数对 109+710^9 + 7 取模的结果。

数据范围

  • 1≤N≤3001 \le N \le 300
  • 0≤A,B≤N0 \le A, B \le N
  • A+B≤NA + B \le N

部分分数

  • 如果输入满足 N≤15N \leq 15,则获得 300300 分。

样例解释

在样例 1 中,满足条件的排列有 (1,3,2)(1, 3, 2), (3,2,1)(3, 2, 1), (2,1,3)(2, 1, 3),共 33 个。

在样例 3 中,可能不存在满足条件的排列。

本翻译由 AI 自动生成

输入输出样例

  • 输入#1

    3 1 1

    输出#1

    3
  • 输入#2

    6 2 3

    输出#2

    126
  • 输入#3

    10 5 0

    输出#3

    0
  • 输入#4

    256 155 51

    输出#4

    125746759

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

首页