L - 総和のファンタジー
高速電力、回数各要素k×n個^(K-1)、プラス終了モールドライン。すべての位置モードで見ることを忘れないでください
1の#include <iostreamの> 2の#include <CStringの> 3の#include < ストリング > 4の#include <地図> 5の#include < 設定 > 6の#include <アルゴリズム> 7の#include <fstreamの> 8の#include <cstdioを> 9# <cmath>含む 10の#include <積層> 11の#include <キュー> 12 使用 名前空間STDを、 13 CONST ダブルパイ= 3.14159265358979323846 。 14 typedefの長い 長いLL。 15 のconst int型 MAXN = 5000 + 5 。 16 のconst int型 DX [ 5 ] = { 0、0、0、1、 - 1 }。 17 のconst int型 DY [ 5 ] = { 1、 - 1、0、0、0 }。 18 CONST INT INF = 0x3f3f3f3f 。 19 CONST INT NINF = 0xc0c0c0c0 。 20 LL mod_pow(LL N、LL X、MOD LL) 21 { 22 LL ANS = 1 。 23 一方、(N> 0 ) 24 { 25 であれば(N - 1)ANS = ANS * X%MOD。 26 X = X * X%MOD。 27 N >> = 1 。 28 } 29の リターンANS。 30 } 31 32 LL [MAXN]。 33 のint main()の 34 { 35 のint T。 36 cinを>>トン。int型CNT = 0 ; 37 一方(t-- ) 38 { 39 のLL K、N、MOD; CIN >> N >> K >> MOD。 40 = 11合計0 ; LLバリ=(K%のMOD * mod_pow(K- 1、N、MOD))%MOD。 41 のためには、(int型 i = 1 ; iがn = <; iは++ ) 42 { 43 CIN >> [I]。 44 和=(和+(バリ*([I]%MOD)%のMOD))%MOD。 45 } 46 のprintf(" ケース%のD:%のLLDを\ n "、++CNT、合計)。 47 } 48 リターン 0 。 49 }