NC20069. [HNOI2008]越狱
描述
输入描述
输入两个整数M,N.
1 ≤ M ≤ 10^8,1 ≤ N ≤ 10^12
输出描述
可能越狱的状态数,模100003取余
示例1
输入:
2 3
输出:
6
C++ 解法, 执行用时: 3ms, 内存消耗: 428K, 提交时间: 2022-01-17 15:26:23
#include <bits/stdc++.h> using namespace std; const int mod=100003; typedef long long ll; ll pt(ll a,ll n){ ll sum =1; while(n){ if(n&1) sum=sum*a%mod; a=a*a%mod; n>>=1; } return sum; } int main(){ ll m,n; cin>>m>>n; ll sum =pt(m,n)-m*pt(m-1,n-1)%mod+mod; cout<<sum%mod; }
pypy3(pypy3.6.1) 解法, 执行用时: 39ms, 内存消耗: 18756K, 提交时间: 2020-09-01 19:41:48
m,n = map(int,input().split()) print((pow(m,n,100003) - m*pow(m-1,n-1,100003)+100003)%100003)
Python3 解法, 执行用时: 38ms, 内存消耗: 4656K, 提交时间: 2022-01-17 13:11:01
m,n=map(int,input().split()) print((pow(m,n,100003)-m*pow(m-1,n-1,100003))%100003)