您的位置:首页 > 编程语言 > C语言/C++

第六届蓝桥杯A组C/C++ 第七题 手链样式

2018-02-27 15:13 288 查看

第六届蓝桥杯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
(*^▽^*)(*╹▽╹*)~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: