BZOJ 1008 [HNOI2008]越狱

来源:互联网 发布:网络架构师 真题 编辑:程序博客网 时间:2024/05/16 10:19

题目描述 传送门


数学题,不过我数学太辣鸡了……
思路是总的减去不行的,总的有MN种,不行的情况,第一个有罪犯M种宗教可信仰,之后第二个~第N个都有M1种选择,所以有M(M1)(N1)


代码

#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int p=1e5+3;long long quickpow(long long n,long long k){    long long ans=1;    for(n%=p;k;k>>=1,n=n*n%p)        if(k&1) ans=ans*n%p;    return ans;}int main(){    long long m,n,tot,no;    cin>>m>>n;    tot=quickpow(m,n);    no=(m%p)*(quickpow(m-1,n-1)%p)%p;    cout<<(tot+p-no)%p<<endl;    return 0;}
原创粉丝点击