纸牌三角形

原创 


标题:纸牌三角形

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

猜你喜欢

转载自www.cnblogs.com/chiweiming/p/10024546.html