HYSBZ/BZOJ 1008 [HNOI2008] 越狱 - 组合数学

题目描述

可能越狱的情况 = 总数 - 不能越狱的情况
ans=可能越狱的情况 Mod 100003,即:

ans=(mnm(m1)n1)mod100003

#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);
}
posted @ 2016-02-03 13:40  KatarinaYuan  阅读(104)  评论(0编辑  收藏  举报