解题思路:
考虑用总方案数减去不会越狱的方案数。
设已有i个人且不会越狱的方案数为
f[i]
,则再加一个人只需和第
i
个不同即可,即是:
快速幂即可。
#include<cstdio>
#define ll long long
using namespace std;
const int p=100003;
ll n,m;
int ksm(ll x,ll y)
{
int res=1;x%=p;
for(;y;y>>=1,x=1ll*x*x%p)
if(y&1)res=1ll*res*x%p;
return res;
}
int main()
{
scanf("%lld%lld",&m,&n);
int ans=((ksm(m,n)-m*ksm(m-1,n-1)%p)%p+p)%p;
printf("%d",ans);
}