#CF2234E. Vlad、Misha 与两个数组 / Vlad, Misha and Two Arrays
Vlad、Misha 与两个数组 / Vlad, Misha and Two Arrays
题目描述
Vlad 想了一个长度为 的排列 。之后,对于每个 (从 到 ),他统计了满足 且 中的最小值等于 的数对 的个数,并把这个数记为 。
现在他把数 给了 Misha,让他猜排列 。然而 Misha 很快发现,排列 并不总是能被唯一还原。因此他决定给 Vlad 一个惊喜,告诉他满足条件的排列 的数量对 取模的结果。请帮助他完成这件事。注意 Vlad 可能算错了,即可能不存在这样的排列。
输入格式
每个测试包含多个测试数据。第一行包含测试数据的数量 ()。接下来是每个测试数据的描述。
每个测试数据的第一行给出一个自然数 ()— 即排列的大小。
每个测试数据的第二行给出 个数 ()— 即 Vlad 给 Misha 的数组 。
保证所有测试数据的 之和不超过 。
输出格式
对于每个测试数据,输出满足条件的排列数量对 取模的结果。
4
3
1 4 1
4
1 2 3 4
4
1 6 1 2
3
3 3 3
2
1
3
0
提示
在第一个测试数据中,恰好存在两个满足条件的排列: 和 。
在第二个测试数据中,唯一满足条件的排列是 。
在第四个测试数据中,可以证明不存在与数组 对应的排列 。