Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:256 MB
统计

【题目描述】 给定一个{0,1,2,3,…,n−1}的排列 p。一个{0,1,2,…,n−2}的排列q被认为是优美的排列,当且仅当q满足下列条件:

对排列s={0,1,2,3,...,n−1}进行n–1次交换。

①交换s[q0],s[q0+1]。

②交换s[q1],s[q1+1]。

……

最后能使得排列s=p。

问有多少个优美的排列,答案对$10^9+7$取模。

【输入】 第一行一个正整数n。

第二行n个整数代表排列p。

【输出】 仅一行表示答案。

【输入样例】
3 1 2 0 【输出样例】 1
【提示】
【样例解释】
q={0,1}{0,1,2}→{1,0,2}→{1,2,0}
q={1,0}{0,1,2}→{0,2,1}→{2,0,1}
【数据规模】
对于30%的数据,n≤10。
对于100%的数据,n≤50。