【样例说明】
$N = 3$ 的排列有 $6$ 个:123,132,213,231,312,321;他们的波动强度分别为 2,3,3,3,3,2。所以,波动强度不小于 $3$ 的概率是 $4/6$,即 $0.667$。
你也可以通过下面的代码来验证这个概率:
int a[3]={0,1,2}, s=0, n=3;
for (int i=0; i<1000000; i++) {
random_shuffle(a, a+n);
int t=0;
for (int j=0; j<n-1; j++)
t += abs(a[j+1]-a[j]);
if (t>=3) s++;
}
printf("%.3f\n", s/1000000.0);
【数据规模】
对于 30% 的数据,$N ≤ 10$。
对于另外 30% 的数据,$K ≤ 3$。
对于另外 30% 的数据,$K ≤ 8$。
对于另外 10% 的数据,$N ≤ 50$。
对于 100% 的数据,$N ≤ 100,K ≤ 30,0 ≤ M ≤ 2147483647$。