P3197 HNOI2008 越獄 題解

2022-05-30 16:30:13 字數 1016 閱讀 3399

監獄有 \(n\)個房間,每個房間關押乙個犯人,有\(m\)種宗教,每個犯人會信仰其中一種。如果相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄。

答案對 \(100,003\)取模。

輸入只有一行兩個整數,分別代表宗教數 \(m\) 和房間數\(n\)。

輸出一行乙個整數代表答案。

輸入 #1

2 3
輸出 #1

6
樣例輸入輸出 1 解釋

狀態編號

1 號房間

2 號房間

3 號房間

1信仰 1

信仰 1

信仰 1

2信仰 1

信仰 1

信仰 2

3信仰 1

信仰 2

信仰 2

4信仰 2

信仰 1

信仰 1

5信仰 2

信仰 2

信仰 2

6信仰 2

信仰 2

信仰 1

資料規模與約定

對於 \(100\%\) 的資料,保證 \(1 \le m \le 10^8\),\(1 \le n \le 10^\)。

這題要我們求的是有幾種情況是會發生越獄的,我們可以把它轉化成所有的情況減去不會發生越獄的情況的數量。

相對來說,後者的表示是比較簡單的,通過推公式可以知道。

\[ans=m^n-m*(m-1)^

\]推出公式以後,**也就很好實現了。

#include #define ll long long

const int mod=100003;

using namespace std;

ll n,m;

inline ll qpow(ll a,ll b)

return x;

}int main()

洛谷 P3197 HNOI2008 越獄

來來來,日常水一篇 滑稽 監獄有連續編號為1 n的n個房間,每個房間關押乙個犯人,有m種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄 輸入格式 輸入兩個整數m,n.1 m 10 8,1 n 10 12 輸出格式 可能越獄的狀態數,模1000...

P3197 HNOI2008 越獄(快速冪)

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

洛谷 P3197 HNOI2008 越獄 題解

監獄有連續編號為 1 n 的 n 個房間,每個房間關押乙個犯人,有 m 種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄。輸入兩個整數 m,n 可能越獄的狀態數,模 100003 取餘 輸入 1 2 3輸出 1 6種狀態為 000 001 0...