AT_arc066_a.[ABC050C] Lining Up
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 N 个人,编号为 1 到 N。他们昨天以某种顺序排成一列,但今天已经忘记了具体的排列顺序。不过,每个人都记得“自己左边的人数和右边的人数的差的绝对值”。据他们所说,第 i 个人记得的这个差的绝对值为 Ai。
请根据他们的报告,求可能的原排列方式有多少种。由于答案可能非常大,请输出答案对 109+7 取模的结果。如果他们的报告有误,导致不存在可能的排列方式,请输出 0。
输入格式
输入通过标准输入给出,格式如下:
N A1 A2 … AN
输出格式
输出可能的原排列方式数对 109+7 取模的结果。
输入输出样例
输入#1
5 2 4 4 0 2
输出#1
4
输入#2
7 6 4 0 2 4 0 2
输出#2
0
输入#3
8 7 5 1 1 7 3 5 3
输出#3
16
说明/提示
限制条件
- 1≤N≤105
- 0≤Ai≤N−1
样例解释 1
可能的排列方式(以人的编号表示)有:
- 2,1,4,5,3
- 2,5,4,1,3
- 3,1,4,5,2
- 3,5,4,1,2
共 4 种。
样例解释 2
无论怎样排列,都会与报告矛盾,因此答案为 0。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?