[蓝桥杯历届题目] 正六面体染色 ; 取字母组成串
1. 正六面体染色
正六面体用4种颜色染色。
共有多少种不同的染色样式?
要考虑六面体可以任意旋转、翻转。
参考答案:
240
解答:
Burnside引理,正方体涂色问题
(n^6 + 3*n^4 + 12*n^3 + 8*n^2)/24
把n=4d带入公式就行了。
2. 取字母组成串
A B C D中取5次,每个字母都可以重复取出,形成一个串。
现在要求,串中A出现的次数必须为偶数(0次也算偶数)。
求可以形成多少种可能的串。
参考答案:
528
代码:
#include <iostream> using namespace std; char a[4]={'A','B','C','D'}; int main() { int total=0,an=0;//an为一个串中出现‘A’的个数 for(int i=0;i<4;i++) for(int j=0;j<4;j++) for(int k=0;k<4;k++) for(int m=0;m<4;m++) for(int n=0;n<4;n++) { if(a[i]=='A') an++; if(a[j]=='A') an++; if(a[k]=='A') an++; if(a[m]=='A') an++; if(a[n]=='A') an++; if(an%2==0) total++; an=0; } cout<<total<<endl; return 0; }
数学思想: 3^5+C(5,2)*3^2+C(5,4)*3
分三种情况
A取0次的时候。 有 3的5次方种方法, 每一次都在B,C,D三个中选择,每一次都有三种选择
A取2次的时候。 有 C(5,2)*3的3次方 种方法,五次中选2次取的是A,然后剩下三次在B,C,D中选择,每一次都有3种选择。
A取4次的时候。 有 C(5,4)*3种方法,五次中选4次取的是A,然后剩下的一次在B,C,D中选择,有3中选择。