bzoj#P2899. 含糊的安全锁
含糊的安全锁
题目描述
D 博士最近设计了一款新的密码锁,密码锁的工作原理如下:
密码 A 是一个 个数的序列,每个元素都是 至 之间的一个整数。刚刚安装时,密码锁内部会随机出一个 至 的排列 ,然后根据 产生一组比对码 :
其中 表示元素 在 中的位置,比如说:,那么有:。
这种密码锁有非常优异的性能,比如说就算有人通过黑客手段得到 ,他们也不可能轻易的得到正确的 输入,而如果没有 ,仅仅得到了 也是没有用的。
出于此,Y 老板向 D 博士订购了一套这样的密码锁。这时一种 D 博士没有考虑到的特殊情况发生了:
Y 老板是一个非常健忘的人,有一天他竟然忘记了自己密码锁的密码!
D 博士立刻从中取出了对应码 ,但是因为不知道 ,他仍然无法找出 的具体值,于是他把这个艰巨的任务交给你,他的助手。你的任务是,统计所有可能的 序列总数。
输入格式
输入文件第一行包含一个整数 ,第二行包含 个整数表示对比码 。
输出格式
输出文件仅包含一个整数,即所有可能的 序列的总数,鉴于答案可能很大,你只需要输出其模 的余数即可。
5
3 2 5 2 2
120
数据规模与约定
对于 的数据,;
对于 的数据,。