快速冪 P3197越獄

2022-08-29 17:57:18 字數 838 閱讀 9026

花費了好長時間,終於刷掉了這道題。

題目在這裡(洛谷)

(資訊學奧賽一本通)

嗯,沒錯,這是一道快速冪的題,不會快速冪點這裡

好現在開始分析,這道題用小學奧數的思想就可以想到,直接算有多少種可能比較難,所以就算出所有的情況再減去不越獄的情況,就是越獄的情況了。所有情況就是mn,不發生的情況就是m*(m-1)(n-1),所以,發生的情況就是mn-m*(m-1)(n-1)。

然後就成功的算出了發生的情況數。

**如下

1 #include2

#define ll long long //

下面ll可以代替long long

3using

namespace

std;

4 ll m, n, mod=100003;5

ll power(ll a, ll b)

12return

ans;13}

14int

main()

15

這個**樣例是可以過去的,but只有10分,我也不知道為啥。

但是根據對輸出的分析,我給快速冪多mod了幾下,竟然ac啦…

所以看下面,ac**

1 #include2

#define ll long long

3using

namespace

std;

4 ll m, n, mod=100003;5

ll power(ll a, ll b)

12return

ans;13}

14int

main()

15

P3197 HNOI2008 越獄(快速冪)

監獄有連續編號為 1 n1 n1 n 的 nnn 個房間,每個房間關押乙個犯人,有 mmm 種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄。輸入格式 輸入兩個整數 m,nm,nm,n 輸出格式 可能越獄的狀態數,模 100003100003...

快速冪 越獄

監獄有連續編號為 11 到 nn 的 nn 個房間,每個房間關押乙個犯人。有 mm 種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人信仰的宗教相同,就可能發生越獄。求有多少種狀態可能發生越獄。輸入格式 共一行,包含兩個整數 mm 和 nn。輸出格式 可能越獄的狀態數,對 100003100003...

P3197 HNOI2008 越獄 題解

監獄有 n 個房間,每個房間關押乙個犯人,有 m 種宗教,每個犯人會信仰其中一種。如果相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄。答案對 100,003 取模。輸入只有一行兩個整數,分別代表宗教數 m 和房間數 n 輸出一行乙個整數代表答案。輸入 1 2 3輸出 1 6樣例...