蓝桥杯真题:七段码

import java.util.Scanner;
import java.util.ArrayList;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main
{
    public static void main(String[] args)
    {
        // 连接关系图
        int[][] map = new int[][]
        {
            {0, 1, 0, 0, 0, 1, 0},
            {1, 0, 1, 0, 0, 0, 1},
            {0, 1, 0, 1, 0, 0, 1},
            {0, 0, 1, 0, 1, 0, 0},
            {0, 0, 0, 1, 0, 1, 1},
            {1, 0, 0, 0, 1, 0, 1},
            {0, 1, 1, 0, 1, 1, 0}
        };

        int count = 0;
        // 可能性遍历,共有2的7次方减1种可能,用8次方方便补0位
        for (int i = (int) Math.pow(2, 7) + 1; i < Math.pow(2, 8); i++)
        {
            // 转化为二进制数组
            char[] cs = Integer.toBinaryString(i).substring(1).toCharArray();
            // 找出亮灯列表
            ArrayList<Integer> list = new ArrayList();
            for (int p = 0; p < cs.length; p++)
            {
                if(cs[p] == '1') list.add(p);
            }
            // 定义已连接的列表
            ArrayList<Integer> linkList = new ArrayList();
            linkList.add(list.remove(0));
            // 反向遍历连接性,方便移除元素
            for (int i1 = 0; i1 < linkList.size(); i1++)
            {
                int p1 = linkList.get(i1);

                for (int i2 = list.size() - 1; i2 >= 0; i2--)
                {
                    int p2 = list.get(i2);

                    if (map[p1][p2] == 1)
                    {
                        linkList.add(list.remove(i2));
                    }
                }
            }
            // 如果遍历后没有未连接的元素,则通过
            if(list.isEmpty()) count++;
        }
        System.out.println(count);
    }
}

相关推荐

  1. 历年省赛之 2016年 第届 生日蜡烛

    2024-04-05 11:34:05       31 阅读
  2. 2024-04-05 11:34:05       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-05 11:34:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-05 11:34:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-05 11:34:05       82 阅读
  4. Python语言-面向对象

    2024-04-05 11:34:05       91 阅读

热门阅读

  1. 数据库更新两张相关联的表

    2024-04-05 11:34:05       35 阅读
  2. 【leetcode】向字符串添加空格

    2024-04-05 11:34:05       31 阅读
  3. 2024.3.17力扣每日一题——最小高度树

    2024-04-05 11:34:05       33 阅读
  4. Apache Spark 的基本概念和在大数据分析中的应用

    2024-04-05 11:34:05       42 阅读
  5. WPF如何使用 System.Windows.Forms.FolderBrowserDialog

    2024-04-05 11:34:05       33 阅读
  6. 找出字符串中所有偶数的个数

    2024-04-05 11:34:05       36 阅读
  7. 单例模式的多种写法

    2024-04-05 11:34:05       39 阅读
  8. 设计模式:单例模式六种实现

    2024-04-05 11:34:05       36 阅读
  9. 单例模式详解

    2024-04-05 11:34:05       32 阅读
  10. Visual Studio Code(VS Code)安装教程

    2024-04-05 11:34:05       29 阅读
  11. Vue 组件的 mixin 函数,用于屏幕适配

    2024-04-05 11:34:05       38 阅读
  12. 0基础如何进入IT行业

    2024-04-05 11:34:05       33 阅读