18730 塗色問題

2021-10-07 21:30:35 字數 816 閱讀 1894

時間限制:1000ms **長度限制:10kb

提交次數:0 通過次數:0

題型: 程式設計題 語言: 不限定

description

在某大學的農場裡,n間牛舍住著n頭奶牛。現在你需要為n間牛舍的外牆塗色,有m種可選顏色。

我們已經知道當相鄰兩間牛舍顏色相同時,奶牛們會集體發瘋。

請問有多少種塗色方案會讓奶牛們發瘋,由於答案可能較大,輸出對1000000007求餘的結果。

輸入格式

僅一行,兩個整數n和m,代表牛舍數量和顏色數量。(1<=n<=1e12),(1<=m<=1e12)

輸出格式

僅一樣,乙個整數代表答案。

輸入樣例

3 2輸出樣例6提示

3牛舍2顏色方案有(1,1,1),(1,1,2),(1,2,2),(2,1,1),(2,2,1),(2,2,2),共6種方案會讓奶牛發瘋。

本題有兩個考點,乙個是反向思維,發瘋的方案個數不好求就求總數減掉不發瘋的為m的n次方-m*(m-1)的(n-1)次方,其次是考察公式 c=(a%mod-b%mod+mod)%mod,如果不使用該公式可能在某一步會導致long long型別超出而使得結果與預期結果有偏差。

#include 

using namespace std;

typedef long long ll;

//資料量大 需要用long long型別

#define mod 1000000007

ll qmi

(ll x,ll y)

int main

(void

)

扇形塗色問題

題目描述 將乙個圓形等分成n個小扇形,將這些扇形標記為1,2,3,n。現在使用m種顏色對每個扇形進行塗色,每個扇形塗一種顏色,且相鄰的扇形顏色不同。求 有多少種塗色方法。分析設a n 為符合要求的第n個扇形的塗色方法。對扇形1有m種塗色方法,扇形2有m 1種塗色方法,扇形3也有m 1種塗色方法,扇形...

扇形塗色問題

問題定義 乙個圓劃分為n個扇形,現用m種顏色對其上色,要求相鄰兩塊扇形的顏色不能相同,問有多少種上色方案?其中n 1,m 3 注意 不考慮對稱性,例如 乙個圓劃分為2個扇形,用3種顏色上色方案有 黑紅,黑白,白紅,白黑,紅白,紅黑 6種,相當於每個扇形都有編號,是不一樣的。解題思路 採用數學歸納的思...

矩形塗色問題

問題描述 在乙個定義了直角座標系的紙上,畫乙個 x1,y1 到 x2,y2 的矩形指 將橫座標範圍從 x1 到 x2,縱座標範圍從 y1 到 y2 之間的區域塗上顏色。下圖給出了乙個畫了兩個矩形的例子。第乙個矩形是 1,1 到 4,4 用綠色和紫色表示。第二個矩形是 2,3 到 6,5 用藍色和紫色...