• 第八届蓝桥杯java b组第二题


    标题:纸牌三角形

            A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。
            下图就是一种排法(如有对齐问题,参看p1.png)。

                  A
                 9 6
                4   8
               3 7 5 2

            这样的排法可能会有很多。

            如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?

            请你计算并提交该数字。

            注意:需要提交的是一个整数,不要提交任何多余内容。

    这题没什么好说的 暴力破解模型 将不同位置的数认为一个排列 然后中间的位置认为相等 然后三处有想好可换

    那么最后需要除2和除3

    import java.util.Stack;
    
    public class Test2 {
        private static int count=0;
        public static void main(String[] args) {
            Stack<Integer> stack=new Stack<Integer>();
            for(int i=1;i<=9;i++){
                stack.push(i);
                fun(stack);
                stack.pop();
            }
            System.out.println(count/2/3);
        }
    
        private static void fun(Stack<Integer> stack) {
            if(stack.size()==9){
                int A=stack.get(0);
                int B=stack.get(1);
                int C=stack.get(2);
                int D=stack.get(3);
                int E=stack.get(4);
                int F=stack.get(5);
                int G=stack.get(6);
                int H=stack.get(7);
                int I=stack.get(8);
                int ACEI=A+C+E+I;
                int ABDF=A+B+D+F;
                int FGHI=F+G+H+I;
                if(ACEI==ABDF&&ABDF==FGHI){
                    ++count;
                    System.out.printf("%d %d %d %d   %d %d %d %d   %d %d %d %d",A,B,D,F,A,C,E,I,F,G,H,I);
                    System.out.println();
                }
            }
            for(int j=1;j<=9;j++){
                if(!stack.contains(j)){
                    stack.push(j);
                    fun(stack);
                    stack.pop();
                }
            }
        }
    
    }
    View Code
    恐惧源于无知,代码改变世界
  • 相关阅读:
    java final计算
    浅析Java中的final关键字
    easyui
    Java:类与继承
    java中&和&&
    XML
    JSON
    SQL
    selenium
    Metasploit
  • 原文地址:https://www.cnblogs.com/ad-zhou/p/8641787.html
Copyright © 2020-2023  润新知