• 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);
        }
    }
    
  • 相关阅读:
    POJ2355 Railway tickets DP优化
    POJ3280 Cheapest Palindrome 区间DP
    POJ2352 Stars 线段树
    适牛的类岛娘头文件<转载>
    Ural 1519 Formula 1 插头DP(单回路)
    POJ3345 Bribing FIPA 树形DP+分组背包
    6个变态的C语言HelloWorld程序<转载>
    POJ2374 Fence Obstacle Course DP+线段树优化
    POJ3133 Manhattan Wiring 插头DP
    ACdream 完美数 数位DP
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077259.html
Copyright © 2020-2023  润新知