题意:
思路:
直接用总的可能数减去不能越狱的可能数
1,每个监狱的犯人都可以信仰 m 种 宗教,所以说一共有 m^n 种组合。
2,不能越狱的可能数:第一个人可以信仰 m 种 宗教,当一个监狱的犯人信仰一种宗教后,相邻的监狱的犯人只可以信仰 剩下的 m-1种 中的一种 才不会越狱。
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod=100003;
ll quick(ll a,ll b){
ll ans=1;
while(b){
if(b&1)ans=(ans*a)%mod;
a=(a*a)%mod;
b/=2;
}
return ans;
}
int main()
{
ll n,m;
while(scanf("%lld%lld",&m,&n)!=-1){
printf("%lld\n",(quick(m,n)-quick(m-1,n-1)*m%mod+mod)%mod);
}
return 0;
}