HYSBZ/BZOJ 1008 [HNOI2008] 越狱 - 组合数学
可能越狱的情况 = 总数 - 不能越狱的情况
ans=可能越狱的情况 Mod 100003,即:
#include<cstdio>
#define Mod 100003
typedef long long LL;
LL n,m,ans;
LL mypow(LL x,LL k)
{
if(!x) return 0;
LL ret=1;
x%=Mod;
while(k){
if(k&1)
ret=ret*x%Mod;
x=x*x%Mod;
k>>=1;
}
return ret%Mod;
}
int main()
{
scanf("%lld%lld",&m,&n);
ans=mypow(m,n);
LL tmp=(mypow(m-1,n-1)*(m%Mod))%Mod;
ans=(ans-tmp+Mod)%Mod;
printf("%lld\n",ans);
}