[HNOI2008]越獄 (快速冪模)

1008: [HNOI2008]越獄

Time Limit: 1 Sec  Memory Limit: 162 MB
Submit: 6179  Solved: 2630
[Submit][Status][Discuss]

Description

監獄有連續編號爲1...N的N個房間,每個房間關押一個犯人,有M種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄

Input

輸入兩個整數M,N.1<=M<=10^8,1<=N<=10^12

Output

可能越獄的狀態數,模100003取餘

Sample Input

2 3

Sample Output

6

HINT

6種狀態爲(000)(001)(011)(100)(110)(111)

Source

[Submit][Status][Discuss]

HOME Back


代碼:

#include<cstdio>
using namespace std;

typedef long long LL;
const long long mod=100003;

LL pow_mod(LL a,LL b)
{
  LL ans=1;
  while(b)
    {
      if(b&1)ans=(ans*a)%mod;
      a=(a*a)%mod,b>>=1;
	}
  return ans;
}

int main()
{
  freopen("1.in","r",stdin);
  
  LL m,n,ans;
  scanf("%I64d%I64d",&m,&n);
  ans=pow_mod(m,n)-m*pow_mod(m-1,n-1);
  ans=(ans%mod+mod)%mod;
  printf("%I64d\n",ans);
  return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章