第六届蓝桥杯A组C/C++ 第七题 手链样式
2015-04-13 17:35
260 查看
小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。
他想用它们串成一圈作为手链,送给女朋友。
现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?
请你提交该整数。不要填写任何多余的内容或说明性的文字。
简单的排列组合,我在前两场的比赛中都出了排列组合的题(数三角形),有心的童鞋应该好好看看组合数学。这道题的思路是如果把所有的玛瑙看做不同的话应该用(3+4+5)!种,再除掉重复的需要除以3!4!5!(想想为啥)。在考虑到环形,可以先固定第一颗,答案是(3+4+5-1)!/(2!+4!+5!)+(3+4+5-1)!/(3!+3!+5!)+(3+4+5-1)!/(3!+4!+4!)
答案是62370
他想用它们串成一圈作为手链,送给女朋友。
现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?
请你提交该整数。不要填写任何多余的内容或说明性的文字。
简单的排列组合,我在前两场的比赛中都出了排列组合的题(数三角形),有心的童鞋应该好好看看组合数学。这道题的思路是如果把所有的玛瑙看做不同的话应该用(3+4+5)!种,再除掉重复的需要除以3!4!5!(想想为啥)。在考虑到环形,可以先固定第一颗,答案是(3+4+5-1)!/(2!+4!+5!)+(3+4+5-1)!/(3!+3!+5!)+(3+4+5-1)!/(3!+4!+4!)
#include <cstdio> int juchen(int a) { int b = 1; for(int i = 1; i<=a; i++) { b *= i; } return b; } int main () { int zi = juchen(3+4+5-1); int a = juchen(2)*juchen(4)*juchen(5); int b = juchen(3)*juchen(3)*juchen(5); int c = juchen(3)*juchen(4)*juchen(3); printf("%d\n",zi/a+zi/b+zi/c); return 0; }
答案是62370
相关文章推荐
- 第六届蓝桥杯A组C/C++ 第七题 手链样式
- 第六届 蓝桥杯 第七题 手链样式 枚举 暴力 解题报告
- 2015年蓝桥杯C/C++A组第七题 手链样式
- 15年第六届蓝桥杯第七题_手链样式_(stl_string)
- 第六届蓝桥杯C/C++B组第七题 牌型种数(回溯)
- 第六届蓝桥杯-手链样式
- 2015 第六届 蓝桥杯省赛 手链样式
- 【等价类计数】(2015)第六届蓝桥杯省赛 C/C++ A组 题解(第七题)
- 2015年第六届蓝桥杯省赛(C/C++ B组)第七题
- 2015年第六届蓝桥杯本科B组C++省赛个人题解
- 第六届蓝桥杯C/C++A组 第八题 饮料换购
- 第六届蓝桥杯C/C++A组第一题解答
- 第六届蓝桥杯B组C++试题
- 第六届蓝桥杯A组C/C++ 第二题 星系炸弹
- 第六届蓝桥杯C/C++A组第五题解答
- 第六届蓝桥杯A组C/C++ 第五题 九数组分数
- 第六届蓝桥杯A组C/C++ 第四题 格子中输出
- 第六届蓝桥杯C/C++A组第四题解答
- 2015年第六届蓝桥杯省赛(C/C++ B组)解题报告
- 第六届蓝桥杯大赛个人赛省赛(软件类)C++A组 解题报告