题解:
要求有几种方案可以越狱,可以用总方案-不会越狱的方案
那么总方案就是m^n
那么考虑不会越狱的方案
显然第一个人有m中,后面都是m-1中(和前一个不一样)
答案就是m^n-m*(m-1)^(n-1)
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll M=;
ll n,m;
ll ksm(ll x,ll y)
{
if (y==)return ;
ll z=ksm(x,y/);
z*=z;z%=M;
if (y%==)(z*=x)%=M;
return z;
}
int main()
{
scanf("%lld%lld",&m,&n);
printf("%lld",(ksm(m,n)-m*ksm(m-,n-)%M+M)%M);
}