U425153 Two Sided Cards
题目背景
[TopCoder - 10947](https://community.topcoder.com/stat?c=problem_statement&pm=10947)。
题目描述
有 $n$ 张卡片,正面和反面分别组成了 $1 \sim n$ 的排列。现在你需要将这 $n$ 张卡片排成一排。卡片可以以任何顺序放置,每张卡片可以显示正面或背面,排成的序列不一定是一个排列。两种方案至少存在一个位置的数字不同,则这两种方案被认为是不同的。求排成的不同的序列的方案数,答案对 $10^9+7$ 取模。
输入格式
第一行,正整数 $n$,表示卡片的数量。
第二行,一个 $1 \sim n$ 的排列,表示卡片正面组成的排列。
第三行,一个 $1 \sim n$ 的排列,表示卡片反面组成的排列。
输出格式
一个数,能组成的不同方案数对 $10^9+7$ 取模的结果。
说明/提示
**本题存在子任务,你只有通过子任务所有测试点才能拿到对应分数!**
对于 Subtask 1,$n \leq 50$,分值 $50$ 分;
对于 Subtask 2,$n \leq 10^5$,分值 $50$ 分。
对于 $100\%$ 的数据,$n \leq 10^5$,保证牌的正反面均为 $1 \sim n$ 的排列。
[博客 & 题解。](https://www.cnblogs.com/XuYueming/p/18150666)