藍橋杯第六屆省賽 手鍊樣式

2021-10-02 05:30:11 字數 815 閱讀 3666

手鍊樣式

小明有3顆紅珊瑚,4顆白珊瑚,5顆黃瑪瑙。

他想用它們串成一圈作為手鍊,送給女朋友。

現在小明想知道:如果考慮手鍊可以隨意轉動或翻轉,一共可以有多少不同的組合樣式呢?

全排列,對每種情況轉動,翻轉檢測;

#include #include #include #include #include using namespace std;

vectoruni;

int main()

}// 翻轉

if(!flag)}}

if(!flag)

}cout << tot;

return 0;

}

分析:這個題首先一定要理解題意,轉動和翻轉是個什麼意思,轉動就是我們所得到的的排列是個環,即起點不固定,具體點說即使1234和2341是一種方式(3421也一樣)。翻轉就是,這個排列是個立體的,可以上下左右翻轉,具體點說即

1             1

2   3  和  3   2 是一樣的(左右翻轉),弄清了題意,就能事半功倍。

4            4

如果沒有轉動和翻轉兩個要求,就是直接全排列,有轉動和翻轉就得小心重複了

轉動的話我們可以把str複製乙份,比如abcd,我們變成abcdabcd,只要在這個序列裡找到滿足的情況就可以了

翻轉的話可以用reverse()函式,用乙個vector來儲存滿足的情況,用string情況下的next_permutation()函式進行全排列,如果vector中沒有滿足的,就將複製後的和翻轉後的加進vector中

具體實現看**

藍橋杯第六屆省賽 手鍊樣式 STL

小明有3顆紅珊瑚,4顆白珊瑚,5顆黃瑪瑙。他想用它們串成一圈作為手鍊,送給女朋友。現在小明想知道 如果考慮手鍊可以隨意轉動或翻轉,一共可以有多少不同的組合樣式呢?分析 這個題首先一定要理解題意,轉動和翻轉是個什麼意思,轉動就是我們所得到的的排列是個環,即起點不固定,具體點說即使1234和2341是一...

河南省藍橋杯第六屆省賽 7 手鍊樣式

題目描述 小明有3顆紅珊瑚,4顆白珊瑚,5顆黃瑪瑙。他想用它們串成一圈作為手鍊,送給女朋友。現在小明想知道 如果考慮手鍊可以隨意轉動或翻轉,一共可以有多少不同的組合樣式呢?請你提交該整數。不要填寫任何多餘的內容或說明性的文字。解答 定義字串str aaabbbbccccc 代表手鍊的串接情況,對該字...

藍橋杯題目 第六屆

如 圖1 所示。圖中的所有小方格面積都是1。那麼,圖中的三角形面積應該是多少呢?請填寫三角形的面積。不要填寫任何多餘內容或說明性文字。割補法 28 觀察下面的現象,某個數字的立方,按位累加仍然等於自身。1 3 1 8 3 512 5 1 2 8 17 3 4913 4 9 1 3 17 請你計算包括...