蛮好想的,所有情况-无法越狱的情况
所有情况:
无法越狱的情况:
运用快速幂,即
但是要注意和取模后不一定谁大谁小,所以要进行特殊处理:
,在()中+1007
代码如下:
#include<bits/stdc++.h>
using namespace std;
long long int getpow(long long int a,long long int b,long long int c){
a=a%c;
long long int res=1;
while(b){
if(b&1){
res=(res*a)%c;
b--;
}
a=(a*a)%c;
b=b>>1;
}
return res;
}
int main( )
{
long long int m,n;
cin>>m>>n;
if(m==1&&n==1){cout<<0;return 0;}
cout<<(getpow(m,n,1007)-(getpow(m-1,n-1,1007)*(m%1007))%1007+1007)%1007;
return 0;
}