小明有3顆紅珊瑚,4顆白珊瑚,5顆黃瑪瑙。他想用它們串成一圈作為手鍊,送給女朋友。現在小明想知道:如果考慮手鍊可以隨意轉動或翻轉,一共可以有多少不同的組合樣式呢?
答案為:1170
#include
using
namespace std;
intmain()
if(i != v.
size()
)continue
; string s1 = s+s;
// 判斷旋轉的情況
v.push_back
(s1)
;reverse
(s1.
begin()
, s1.
end())
; v.
push_back
(s1)
;// 將翻轉的情況放入
ans++;}
while
(next_permutation
(s.begin()
, s.
end())
);cout
}
藍橋杯 手鍊樣式 列舉
看到網上有人用的手算解法,還有相關 o 還是列舉適合我,節約腦力。思路大概就是 1 手鍊可以轉動,所以儲存時將字串加倍,這樣就可以找到轉動後的情況。2 手鍊可以翻轉,所以再儲存一下reverse的字串。3 列舉方法,直接next permutation,簡單粗暴。include include in...
藍橋杯 2015初賽 手鍊樣式
小明有3顆紅珊瑚,4顆白珊瑚,5顆黃瑪瑙。他想用它們串成一圈作為手鍊,送給女朋友。現在小明想知道 如果考慮手鍊可以隨意轉動或翻轉,一共有多少不同的組合樣式?請你輸出該整數。不要輸出任何多餘的內容或說明性的文字。12!3!4!5!12 2310種,這是不考慮可以翻轉的答案。若考慮翻轉需要求出那些左右對...
藍橋杯2015初賽 手鍊樣式
小明有3顆紅珊瑚,4顆白珊瑚,5顆黃瑪瑙。他想用它們串成一圈作為手鍊,送給女朋友。現在小明想知道 如果考慮手鍊可以隨意轉動或翻轉,一共有多少不同的組合樣式?輸出請你輸出該整數。不要輸出任何多餘的內容或說明性的文字 思路 1.將珠子抽象成字元,然後使用c 中的下乙個排列函式來求排列 2.由於手鍊可以任...