题解:
要求有几种方案可以越狱,可以用总方案-不会越狱的方案
那么总方案就是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=100003; ll n,m; ll ksm(ll x,ll y) { if (y==0)return 1; ll z=ksm(x,y/2); z*=z;z%=M; if (y%2==1)(z*=x)%=M; return z; } int main() { scanf("%lld%lld",&m,&n); printf("%lld",(ksm(m,n)-m*ksm(m-1,n-1)%M+M)%M); }