不会越狱的状态数:
m
∗
(
m
−
1
)
n
−
1
{m}*{{(m-1)}^{n-1}}
m∗(m−1)n−1,对于第一个房间,可以选m种,对于第二个房间,为了不越狱,那么则只能放m-1种,依次类推,再根据乘法原理可得
在相减的时候有可能为负数,那么久加上mod再取模
Code:
#include<bits/stdc++.h>usingnamespace std;#define mod 100003#define Love long long
Love n,m;inline Love quickpow_(Love a,Love b){
Love ans=1;while(b){if(b&1){
ans*=a;
ans%=mod;}
b>>=1;
a*=a;a%=mod;}return ans;}voidreadda_(){scanf("%lld%lld",&m,&n);
Love sum=quickpow_(m,n)%mod;
Love ac=(m%mod)*(quickpow_(m-1,n-1)%mod);
Love slo=(sum-ac)%mod;
slo=(slo+mod)%mod;printf("%lld",slo);}intmain(){freopen("a.txt","r",stdin);readda_();return0;}