zoukankan      html  css  js  c++  java
  • java实现第七届蓝桥杯七星填数

    七星填数

    如图【图1.png】所示。

    在七角星的14个节点上填入1~14 的数字,不重复,不遗漏。
    要求每条直线上的四个数字之和必须相等。

    图中已经给出了3个数字。
    请计算其它位置要填充的数字,答案唯一。

    填好后,请提交绿色节点的4个数字(从左到右,用空格分开)

    比如:12 5 4 8
    当然,这不是正确的答案。

    注意:只提交4个用空格分开的数字,不要填写任何多余的内容。

    答案:10 3 9 8

    在这里插入图片描述

    import java.util.HashSet;
    
    public class Main {
        public static int sum = 0;
        
        public void swap(int[] A, int i, int j) {
            int temp = A[i];
            A[i] = A[j];
            A[j] = temp;
        }
        
        public void dfs(int[] A, int step) {
            if(step == A.length) {
                int[] count = new int[7];
                count[0] = A[0] + A[1] + A[2] + A[3];
                count[1] = A[0] + A[4] + A[6] + A[9];
                count[2] = A[1] + A[4] + 6 + 14;
                count[3] = A[2] + A[5] + 6 + 11;
                count[4] = A[6] + A[8] + A[10] + 14;
                count[5] = A[7] + A[8] + A[9] + 11;
                count[6] = A[3] + A[5] + A[7] + A[10];
                HashSet<Integer> set = new HashSet<Integer>();
                for(int i = 0;i < 7;i++)
                    set.add(count[i]);
                if(set.size() == 1) {
                    for(int i = 0;i < A.length;i++)
                        System.out.print(A[i]+" ");
                    System.out.println();
                }
                sum++;
                return;
            } else {
                for(int i = step;i < A.length;i++) {
                    swap(A, i, step);
                    dfs(A, step + 1);
                    swap(A, i, step);
                }
            }
        }
        
        public static void main(String[] args) {
            Main test = new Main();
            int[] A = {1,2,3,4,5,7,8,9,10,12,13};
            test.dfs(A, 0);
            System.out.println(sum);
        }
    }
    
  • 相关阅读:
    四.Oracle聚合函数和内外全连接
    三.Oracle常用数据类型及单行函数总结
    二.Sql语言的分类及运算符
    一.Oracle的安装与连接
    Maven环境的配置
    javaSE基础总结篇04
    javaSE基础总结篇03
    javaSE基础总结篇02
    JavaSE基础篇总结01
    表分区
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077259.html
Copyright © 2011-2022 走看看