bzoj1008: [HNOI2008]越狱

来源:互联网 发布:淘宝客活动报名审核 编辑:程序博客网 时间:2024/06/05 23:45

首先考虑由n-1转移到n,然后就会发现这是一道大水题,答案是m^n-(m-1)^(n-1)*m。

#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int read(){    char ch=getchar();int f=0;    while(ch<'0'||ch>'9') ch=getchar();    while(ch>='0'&&ch<='9') {f=f*10+(ch^48);ch=getchar();}    return f;}long long m,n;const long long mod=100003;long long quick_mod(long long x,long long y){    long long ret=1;    while(y)    {        if(y&1)        {            ret=ret*x%mod;        }        y>>=1;        x=x*x%mod;    }    return ret;}int main(){    cin>>m>>n;    m%=mod;    long long ans=quick_mod(m,n);    ans-=quick_mod(m-1,n-1)*m%mod;    ans=(ans%mod+mod)%mod;    cout<<ans;}
原创粉丝点击