1008 [hnoi2008]越狱

类似容斥的,用总的人数减去不会越狱的可能(m*Pow(m-1,n-1))即可。用快速幂

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdlib>
using namespace std;
typedef long long LL;
const LL Mod = 100003;
LL n,m;
LL (LL a,LL b){
a%=Mod;;
LL Ans = 1;
for (;b;b>>=1,a=a*a%Mod){
if (b&1) Ans=Ans*a%Mod;
}
return Ans;
}
int main(){
scanf("%lld%lld",&m,&n);
printf("%lldn",((Pow(m,n)-m*Pow(m-1,n-1)) % Mod + Mod) % Mod);
return 0;
}