オリジナルタイトル
トピック分析
高速電力テンプレートのタイトルは、剰余ミを高速に意図した一連の質問によると、その後、解答プラス側金型をすることができます。
コード
1の#include <cstdioを> 2の#include <cstdlib> 3の#include <iostreamの> 4の#include <アルゴリズム> 5の#include <ユーティリティ> 6の#include <ctimeの> 7の#include <cmath> 8の#include <CStringの> 9# <含む文字列 > 10の#include <積層> 11の#include <キュー> 12の#include <ベクトル> 13の#include < 設定 > 14の#include <地図> 15 16 使って 名前空間STDを、 17のtypedef 長いです ロングLL; 18 CONST INT INF_INT = 0x3f3f3f3f 。 19 CONST LL INF_LL = 0x3f3f3f3f3f3f3f3f 。 20 21 LLのq_power(LL、LLのB、LLのMOD) 22 { 23 LLのRES = 1 。 24 %= MOD。 25 一方、(B) 26 { 27 であれば(B&1)のRES =(RES * A)%MOD。 28 A =(* A)%MOD。 29 B >> = 1 。 30 } 31 リターンのres; 32 } 33 34 のint main()の 35 { 36 // freopenは( "black.in"、 "R"、STDIN)。 37 // freopenは( "black.out"、 "W"、STDOUT)。 38 int型のT; 39 のscanf(" %dの"、&T)。 40 一方(t-- ) 41 { 42 のint M、H。 43 のscanf(" %d個の%のD "、&M、&H)。 44の LL RES = 0 。 45 以下のために(int型 i = 0 ; iはH <; iは++ ) 46 { 47 LLのA、B。 48 のscanf(" %のLLDの%のLLD "、&、&B)。 49の RES =(RES + q_power(A、B、M))%のM。 50 } 51 のprintf(" %LLDする\ n " 、RES)。 52 } 53 リターン 0 。 54 }