第六届蓝桥杯A组C/C++ 第七题 手链样式
题目描述:
小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。 他想用它们串成一圈作为手链,送给女朋友。 现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?
输入:
无
输出:
请你提交该整数。不要填写任何多余的内容或说明性的文字。
emmm相信大家一看就知道是使用:dfs排列组合:
于是就给大家安利一下高中数学方法:hhh
- 12!/(3!*4!*5!*12)=2310
- 5!/(2*2)=30
- 30+(2310-30)/2=1170
嗯,注意翻转和转动;
解释一下:
第一步:求出没有转动的可能总数;(这个时候还有翻转没有排除)
第二步:翻转与除以2有关:注意:有的串是对称的!将奇数变成偶数之后才能对称,于是,将A、C作为对称轴,(注意,这是平面里面的中心对称)剩下2个A,4个B,4个C两边对称,
第三步:排除对称的求解;
end
(*^▽^*)(*╹▽╹*)~