1.正六面体染色
正六面体用4种颜色染色。
共有多少种不同的染色样式?
要考虑六面体可以任意旋转、翻转。
参考答案:
240
2.排座位
要安排:3个A国人,3个B国人,3个C国人坐成一排。
要求不能使连续的3个人是同一个国籍。
求所有不同方案的总数?
参考答案:
283824
数学解法和JAVA编程解法都可以。只要答案对。求解!
算法 排列组合 JAVA
------解决方案--------------------
public class Test3
{
static int kinds=0;
static int b[]=new int[10];
static boolean vis[]=new boolean[10];
public static void main(String[] args)
{
int a[]=new int[]{0,1,1,1,2,2,2,3,3,3};
dfs(1,a);
System.out.println("kinds:"+kinds);
}
static void dfs(int start,int a[])
{
if(start==a.length)
{
kinds++;
}
else
{
for(int i=1;i<a.length;i++)
{
if(!vis[i])
{
b[start]=a[i];
if(start>2 && b[start-2]==b[start-1] && b[start-1]==b[start]) continue;
vis[i]=true;
dfs(start+1,a);
vis[i]=false;
}
}
}
}
}
//kinds:283824
------解决方案--------------------
第1题 Burnside引理,参考维基百科上的公式,http://en.wikipedia.org/wiki/Burnside%27s_lemma
(n^6 + 3*n^4 + 12*n^3 + 8*n^2)/24,令n=4即可
第2题 容斥原理(包含排斥原理)
9! - 7!*6*3 + 5!*6*6*3 - 3!*6*6*6