高速電力---------脱獄

nnのnnは部屋に11の刑務所連続数は、各部屋には、囚人を開催しました。
そこミリメートルの宗教は、それぞれの宗教は、囚人のものであってもよいです。
囚人の部屋と同じ宗教的信念が隣接する場合は、エスケープが発生することがあります。
エスケープが発生どのように多くの状態を求めることができます。
入力形式
二つの整数ミリメートルとNNを備えた共通線、。
出力形式
100003100003以上のものを取るために状態の数の可能な脱出。
データ範囲
1≤m≤1081≤m≤108、

1≤n≤10121≤n≤1012
入力サンプル:
23

サンプル出力:
6

サンプルは、説明
(000)(001)(011)(100)(110)(111)(000)(001)(011)(100)(110)(111):すべての可能な66個の状態です。

アイデア:減算することはできないかもしれないエスケープの合計を取る
メートルの合計は、第1の選択個人がM、それを逃げられない、みんなのための選択肢を有していてもよく、M-1の選択肢の後ろに人がいます

#include <iostream>
#include <algorithm>
#include <cstdio> 
#include <cstring>
using namespace std;
const int mod = 100003;
typedef long long LL;
int qmi(int a, LL k){
 int res = 1;
 while(k){
  if (k & 1)   res = (LL)res * a % mod;
  a = (LL)a * a % mod;
  k >>= 1;
 }
 return res;
}
int main(){
 int m;
 LL n;
 cin >> m >> n;
 cout << (qmi(m, n) - (LL)m * qmi(m - 1, n - 1) % mod + mod) % mod << endl;
  return 0;
}
公開された106元の記事 ウォン称賛67 ビュー5427

おすすめ

転載: blog.csdn.net/qq_45772483/article/details/104949085