AT_relay2018_h.最悪のバス停決定戦

通过率:0%

AC君温馨提醒

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

题目描述

正在举行一场比赛,旨在通过投票选出世界上最糟糕的公交车站。参加比赛的公交车站有 2N2^N 个。在公交车站 ii 和公交车站 jj (i<ji < j) 进行对决时,除非有特殊情况,公交车站 ii 总是会胜出,进入下一轮。

比赛的规则如下:

  • 首先,选择一个由 2N2^N 个公交站组成的排列 (p1,…,p2N)(p_1, \ldots, p_{2^N})。
  • 接着安排对决:公交站 p1p_1 对阵 p2p_2,公交站 p3p_3 对阵 p4p_4,依次类推,直到公交站 p2N−1p_{2^N-1} 对阵 p2Np_{2^N}。
  • 下一轮中,继续安排上一轮的每两个胜者进行对阵,比如公交站 p1,p2p_1, p_2 的胜者对阵 p3,p4p_3, p_4 的胜者,依此类推。

最终,在最后一轮中,来自前半区的胜者将与来自后半区的胜者对决。

Snuke 君支持的公交站是 MM。在与其他公交站的对战过程中,Snuke 君可以为公交站 MM 做不超过 KK 次宣传。只要有宣传,公交站 MM 在那场对战中一定会胜出。

你的任务是计算出所有可能的初始排列 (p1,…,p2N)(p_1, \ldots, p_{2^N}) 中,通过 Snuke 君适当的宣传后,公交站 MM 能够最终获胜的排列数量,并将这个数量对 109+710^9+7 取模。

输入格式

输入包含三个整数:NN,MM 和 KK。

输出格式

输出一个整数,表示通过宣传后公交站 MM 能够获胜的初始排列数量,对 109+710^9+7 取模。

输入输出样例

  • 输入#1

    2 3 1

    输出#1

    8
  • 输入#2

    20 49300 4

    输出#2

    77113063

说明/提示

  • 1≤N≤201 \le N \le 20
  • 1≤M≤2N1 \le M \le 2^N
  • 0≤K≤200 \le K \le 20

示例

例如满足条件的初始排列有 $ (1,2,3,4),(1,2,4,3),(2,1,3,4),(2,1,4,3),(3,4,1,2),(3,4,2,1),(4,3,1,2),(4,3,2,1) $,总共有 88 个。

本翻译由 AI 自动生成

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

首页