F - Random Sort
题意:
随机给一个a permutation p of length n (A permutation of length n is an array of length n where each integer between 1 and n appears exactly once).
然后根据每个数字对应的下标按下标摆放,问有多少随机的permutation能够达到真正的有序,同个数字之间有不同的摆放方法为
A (排列数)r然后不同数字间相乘
#include<bits/stdc++.h>
using namespace std;
#define maxn 11500
long long t,a[maxn],ans,x,n;
int main()
{
scanf("%lld",&t);
while(t--)
{
scanf("%lld",&n);
memset(a,0,sizeof(a));
ans=1;
for(int i=0; i<n; i++)
{
scanf("%lld",&x);
a[x]++;
ans*=a[x];
ans%=7901;
}
ans%=7901;
printf("%lld\n",ans);
}
return 0;
}