修复
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
修复
题目描述
给定一个 的排列 。
你必须选择两个不同的位置 ,交换 与 ,设交换后的排列为 。 若对所有 都有
则称这次交换是合法的。
求合法的二元组 数量。
输入格式
从文件 repair.in 读入数据。
第一行一个整数 。
第二行 个整数 ,保证构成 的排列。
输出格式
输出到文件 repair.out。
输出一个整数,表示合法二元组 的数量。
样例
输入1
4
1 2 3 4
输出1
6
输入2
4
2 3 4 1
输出2
2
数据规模与约定
对于所有数据:
是 的排列。
本题采用捆绑测试。只有通过一个子任务中的全部测试点,才能获得该子任务的分数。
| 测试点 | 分值 | 限制 | 特性 |
|---|---|---|---|
| 1-1 | 5 | 无 | |
| 2-3 | 10 | 原排列已满足 | |
| 4-6 | 15 | 所有循环长度不超过4 | |
| 7-10 | 原排列已满足 | ||
| 11-13 | 无 | ||
| 14-16 | 原排列已满足 | ||
| 17-20 | 20 | 无 |