掃地 杯III day2 染色問題

2022-05-31 11:42:14 字數 1339 閱讀 5454

描述 description

做了heoi2012的趙州橋(bridge)之後,liouzhou_101就感到極其的不爽,首先那題題目敘述巨渣,然後做法極坑。

不過那題是一道和染色有關的問題,於是在此同時也啟發liouzhou_101想到了這樣乙個簡單的問題:

在一串未打結的項鍊上(意思就是說項鍊的左端和右端不相連),有n顆珠子,你有m種顏色,然後就問你有多少種方法將每一顆珠子都染上顏色,使得任意兩顆相鄰的珠子的顏色不同。

liouzhou_101這種傻×自然不會做了,於是來向你請教…

當然,由於liouzhou_101的腦子構造極其簡單,你不要想太多,請不要考慮polya之類的本質相同,否則的話僅憑liouzhou_101的理解能力是不能理解的

輸入格式 inputformat

輸入只有一行,三個正整數n、m和p,之間以乙個空格隔開。

輸出格式 outputformat

輸出只有一行,表示染色的方法總數模p。

資料範圍和注釋 hint

一共有324種染色方法,對13取模後是12。

對於10%的資料,n=1,m<=10,p<=10;

對於20%的資料,n<=10,m<=10,p<=100;

對於50%的資料,n,m,p<=1,000,000,000;

對於100%的資料,1<=n,m,p<=1,000,000,000,000,000,000,且m>=2。

看了題解第二種巧妙的解法後,我竟然還是傻帽的二分求2^xmodp的值,傻傻……

1 #include2 #include3 #include4 #include5

using

namespace

std;6//

ifstream fin("cin.in");7//

ofstream fout("test.out");89

long

long

n,m,p;

1011

long

long s,t;int totx=1,toty=1;long

long f[140

];12

long

long yu(long

long x,long

long

y)23 t>>=1;toty++;24}

25}

26 s>>=1;totx++;27}

28return

ans;29}

3031

long

long fangm(long

long

n)40

41int

main()

42

藍橋杯 2n皇后問題

問題描述 給定乙個n n的棋盤,棋盤中有一些位置不能放皇后。現在要向棋盤中放入n個黑皇后和n個白皇后,使任意的兩個黑皇后都不在同一行 同一列或同一條對角線上,任意的兩個白皇后都不在同一行 同一列或同一條對角線上。問總共有多少種放法?n小於等於8。輸入格式 輸入的第一行為乙個整數n,表示棋盤的大小。接...

藍橋杯 2n皇后問題

基礎練習 2n皇后問題 出處問題描述 給定乙個n n的棋盤,棋盤中有一些位置不能放皇后。現在要向棋盤中放入n個黑皇后 和n個白皇后,使任意的兩個黑皇后都不在同一行 同一列或同一條對角線上,任意的兩 個白皇后都不在同一行 同一列或同一條對角線上。問總共有多少種放法?n小於等於8。輸入格式 輸入的第一行...

藍橋杯 2n皇后問題

基礎練習 2n皇后問題 問題描述 給定乙個n n的棋盤,棋盤中有一些位置不能放皇后。現在要向棋盤中放入n個黑皇后 和n個白皇后,使任意的兩個黑皇后都不在同一行 同一列或同一條對角線上,任意的兩 個白皇后都不在同一行 同一列或同一條對角線上。問總共有多少種放法?n小於等於8。輸入格式 輸入的第一行為乙...