原创
标题:纸牌三角形
A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。
下图就是一种排法(如有对齐问题,参看p1.png)。A
9 6
4 8
3 7 5 2这样的排法可能会有很多。
如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?
请你计算并提交该数字。
注意:需要提交的是一个整数,不要提交任何多余内容。
题目描述旋转、镜像算同一种:
1 3 5
2 6 ——旋转——> 4 2 同 6 4
3 4 5 5 6 1 1 2 3
1 1
2 6 ——镜像——> 6 2
3 4 5 5 4 3
3 3
4 2 ——镜像——> 2 4
5 6 1 1 6 5
5 5
6 4 ——镜像——> 4 6
1 2 3 3 2 1
由上可知一个满足条件的等边三角形加上本身一共算了6次,重复了5次,/6即可。
全排列(https://www.cnblogs.com/chiweiming/p/9279858.html)
package EightProvince; import java.util.Scanner; class find{ private int total=0; private int print[]=new int[10]; private int book[]=new int[10]; public void full(int step){ if(step==10){ //产生一种排列 int a=print[1]+print[2]+print[3]+print[4]; int b=print[4]+print[5]+print[6]+print[7]; int c=print[7]+print[8]+print[9]+print[1]; if(a==b && b==c){ total++; } } for(int i=1;i<=9;i++){ if(book[i]==0){ //未使用 book[i]=1; print[step]=i; full(step+1); book[i]=0; print[step]=0; } } } public void outPut(){ System.out.println(total/6); } } public class two { public static void main(String[] args) { find f=new find(); f.full(1); f.outPut(); } }
答案:144
09:58:29
2018-11-27