AT_joi2019_yo_f.座席 (Seats)

通过率:0%

AC君温馨提醒

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

题目描述

2XXX 年,全球的国家都排成了一条直线,共有 NN 个国家,编号依次为 1,2,…,N1, 2, \ldots, N。每个相邻序号的国家都是邻国。

在今年的国际信息学奥林匹克竞赛中,编号为 ii 的国家将派出 AiA_i 名选手参赛。作为竞赛的技术委员会成员,你需要为比赛安排座位。由于场地狭窄,所有选手只能坐在一排总共 A1+A2+⋯+ANA_1 + A_2 + \cdots + A_N 个座位上。为了防止作弊,规定同一国家或邻国的选手不能相邻而坐。

请问有多少种不同的方法可以安排座位?由于这个数字可能非常大,只需输出将其对 1000710007 取模后的结果。

输入格式

输入包含一个整数序列,表示:

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出一个整数,表示合法座位安排的方法数对 1000710007 取模的结果。

输入输出样例

  • 输入#1

    4
    2 1 1 1

    输出#1

    4
  • 输入#2

    5
    1 2 3 2 1

    输出#2

    0
  • 输入#3

    6
    1 2 3 3 2 1

    输出#3

    4754

说明/提示

约束条件

  • 1≤N≤1001 \leq N \leq 100
  • 1≤Ai≤41 \leq A_i \leq 4 (1≤i≤N1 \leq i \leq N)

子问题

  1. (6 分)N≤5N \leq 5 且 Ai≤2A_i \leq 2
  2. (14 分)N≤10N \leq 10 且 Ai≤3A_i \leq 3
  3. (80 分)无其它限制

示例解释 1

假设国家 11 的两名选手记为 11 和 1′1',国家 22 的一名选手记为 22,国家 33 的一名选手记为 33,国家 44 的一名选手记为 44,那么符合条件的座位安排有以下四种:

  • 11, 33, 1′1', 44, 22
  • 1′1', 33, 11, 44, 22
  • 22, 44, 11, 33, 1′1'
  • 22, 44, 1′1', 33, 11

示例解释 2

在这个输入例子中,没有任何一种座位安排可以满足条件。

示例解释 3

在这一例子中,有 2476824768 种不同的安排方式,因此输出它对 1000710007 取模后的结果 47544754。

本翻译由 AI 自动生成

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

首页