六角填数---第五届蓝桥杯


/** 如图【1.png】所看到的六角形中,填入1~12的数字。使得每条直线上的数字之和都同样。图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案。不要填写多余的内容。*/
public class 六角填数 {public static void main(String[] args) {// TODO Auto-generated method stublong start = System.currentTimeMillis();// 从上到下,从左到右,依次为数组赋值int[] a = new int[12];a = init(a);// 初始化数组int[] temp = new int[12];for (int i = 0; i < temp.length; i++) {temp[i] = i + 1;}// 初始化1~12数据提供数组,假设使用了,那么值为其绝对值的负数dsf(0, a, temp);long end = System.currentTimeMillis();print("此程序执行,花费的时间是" + ((end - start) / 1000.0) + "秒.");}public static void print(Object o) {System.out.println(o.toString());}// 初始化数组public static int[] init(int[] a) {a[0] = 1;a[1] = 8;a[11] = 3;return a;}public static int[] calculate(int[] a) {int[] b = new int[6];b[0] = 1 + a[2] + a[5] + a[7];b[1] = 8 + a[2] + a[3] + a[4];b[2] = 11 + a[5] + a[8];b[3] = 1 + a[3] + a[6] + a[10];b[4] = a[7] + a[8] + a[9] + a[10];b[5] = a[4] + a[6] + a[9] + 3;return b;}public static boolean isOk(int[] b) {for (int i = 0; i < b.length; i++) {for (int j = i + 1; j < b.length; j++) {if (b[i] != b[j])return false;}}return true;}public static void dsf(int deep, int[] a, int[] temp) {if (deep == 12)// 表示第13层,也就是a的值已经赋值完成{if (isOk(calculate(a))) {// int b[]=calculate(a);for (int i : a) {System.out.print(i + " ");}System.out.println();}} else {if (deep == 0 || deep == 1 || deep == 11) {dsf(deep + 1, a, temp);// 已经有的值,就不用再次赋值了return;}for (int i = 0; i < temp.length; i++) {if (i == 0 || i == 7 || i ==2) {//已经有的值,就不用再次赋值了continue;}if (temp[i] < 0)continue;a[deep] = temp[i];temp[i] = -temp[i];dsf(deep + 1, a, temp);temp[i] = -temp[i];}}}
}


运算结果:

1 8 9 2 7 10 12 6 5 4 11 3 
此程序执行,花费的时间是0.087秒.

转载于:https://www.cnblogs.com/bhlsheji/p/5366470.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux命令编写,编写简单的linux命令

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;又到了周四分享环节&#xff0c;鉴于最近在看linux编程实践&#xff0c;所以就的讲一下如何编写一个简单的who命令。PPTManual PageManual Page 也就是大家常用的m…

linux不登录用户就关机,Linux无法被远程登录;用户的关机, 重启,注销,新增用户,删除用户...

不能使用xshell连接到我的Linux服务器通过再windows的cmd中ping了我的Linux地址&#xff0c;发现网络不通。查看百度发现是因为网络没有选桥接模式&#xff0c;然后选完桥接模式告诉我&#xff1a;然后发现没有虚拟网卡&#xff0c;原因是之前装过vm没有卸载干净&#xff0c;使…

程序员的国庆节如何安排,你想好了吗?

2019独角兽企业重金招聘Python工程师标准>>> 就要国庆放假了&#xff0c;国庆节是旅游的黄金期&#xff0c;同时也是我们买买买的幸福期&#xff0c;作为一名技术开发&#xff0c;除了要安排假期旅游行程外也不要忘记提升自己&#xff0c;准备好学习计划&#xff0c…

微服务实战(一):微服务架构的优势与不足

本文讲的是微服务实战&#xff08;一&#xff09;&#xff1a;微服务架构的优势与不足&#xff0c;【编者的话】本文来自Nginx官方博客&#xff0c;是微服务系列文章的第一篇&#xff0c;主要探讨了传统的单体式应用的不足&#xff0c;以及微服务架构的优势与挑战。正如作者所说…

linux创建zip+函数,linux+shell基础知识

目录&#xff1a;1.路径&#xff1a;2.进程&#xff1a;3.清屏和退出当前命令操作&#xff1a;4.ls 参数&#xff1a;5.创建目录\文件\复制文件&#xff1a;6.查看文件内容&#xff1a;7.linux通配符&#xff1a;8.grep:9.终止命令&#xff1a;10.搜索文件&#xff1a;11.查看网…

关于浮动float属性和position:absolute属性的区别

最近返回头看了很多书籍&#xff0c;一直在纠结float属性和absolute绝对定位的区别和使用的情况&#xff0c;给大家分享一下自己的心得和体会吧。 1&#xff0c;float属性 float属性意义是让元素拜托独占一行的霸道总裁&#xff0c;成为一个普普通通的人。比如下面这个例子 如图…

Climbing Stairs

You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? 分析&#xff1a;考虑走第n步时的情况&#xff0c;可以从第n-1个台阶走一步&#xff0c;也可以从…

高级组合技打造“完美” 捆绑后门

0x00 简介 之前写过一篇关于客户端钓鱼的文章&#xff1a;《使用powershell Client进行有效钓鱼》中&#xff0c;在使用各个Client进行测试的过程中&#xff0c;个人发现CHM文件是最好用的一个&#xff0c;但是其缺点就是会弹黑框&#xff0c;这样就会让被攻击者察觉。那么怎么…

Cloudera Manager内部结构、功能包括配置文件、目录位置等

2019独角兽企业重金招聘Python工程师标准>>> 问题导读 1.CM的安装目录在什么位置&#xff1f; 2.hadoop配置文件在什么位置&#xff1f; 3.Cloudera manager运行所需要的信息存在什么位置&#xff1f; 4.CM结构和功能是什么&#xff1f; 1. 相关目录 /var/log/cloud…

python 学习笔记(一)

在Windows上安装Python 首先&#xff0c;从Python的官方网站www.python.org下载最新的2.7.9版本&#xff0c;地址是这个&#xff1a; http://www.python.org/ftp/python/2.7.9/python-2.7.9.msi 然后&#xff0c;运行下载的MSI安装包&#xff0c;在选择安装组件的一步时&#x…

Qualcomm QXDM工具简介和log抓取

高通工具简介QXDM 简介QXDM 安装QXDM 激活QXDM 使用AT打开Diagnostic口 QXDM 配置1 Message View ConfigurationMessage PacketsLog PacketsLog PacketsOTAEvent ReportsStrings2 Log View Config3 QXDM-保存配置文件4 QXDM-导入配置文件QPST 端口配置QXDM 抓取log QXDM LOG保存…

layout_gravity

layout_gravity——当前View&#xff0c;本身&#xff0c;在父一级的控件所分配的显示范围内的&#xff0c;对齐方式常用在&#xff1a; 当前控件&#xff08;在父一级LineLayout所分配给其的显示范围内&#xff09;的对齐方式需要注意的是&#xff0c;如果TableRow的gravity确…

洗衣机洗涤部分c语言程序,51单片机洗衣机控制板及C语言程序

51单片机洗衣机控制板及C语言程序&#xff0c;该控制板单片机采用AT89C51单片机&#xff0c;所设计全自动洗衣机功能有&#xff1a;标准洗衣、经济洗衣、单独洗衣以及排水四种洗衣等四种方式&#xff0c;有强洗、弱洗及运行/暂停、显示及报警功能,程序利用利用Protues仿真软件观…

犯人释放的C语言程序,C语言的自动关机程序和一个用来整人的小程序

可以用C语言中的system()函数来实现系统的自动关机程序&#xff0c;可以设置多长时间后将自动关机。当然马上关机也是可以的&#xff0c;我们就可以恶搞别人计算机了(你事先得知道怎么解)&#xff0c;将写好的自动关机程序复制到别人电脑&#xff0c;然后将可执行的文件设为开机…

图解MapReduceMapReduce整体流程图

1.图解MapReduceMapReduce整体流程图 并行读取文本中的内容&#xff0c;然后进行MapReduce操作 Map过程&#xff1a;并行读取三行&#xff0c;对读取的单词进行map操作&#xff0c;每个词都以<key,value>形式生成 reduce操作是对map的结果进行排序&#xff0c;合并&#…

阿里云推出CloudDBA,解决数据库性能优化和问题诊断难题

问题诊断(trouble shooting) 和 性能优化(performance tunning) 一直都是数据库领域的专业问题&#xff0c;需要资深DBA的专业技能才能胜任解决&#xff0c;但这样的人才是稀缺的&#xff0c;无法及时满足大部分的企业紧急需求。如果有一款产品能够在大多数情况下&#xff0c;用…

初探ArrayList之删除

1.返回删除元素的删除方法 public E remove(int index) {rangeCheck(index);modCount;//记录修改次数的变量E oldValue elementData(index);//根据数组下标拿到指定元素int numMoved size - index - 1;//计算移动位数if (numMoved > 0)System.arraycopy(elementData, inde…

java的三大特性,封装,继承,多态

封装 Java代码 /** * 所谓封装&#xff0c;就是将对象具有的成员变量和成员函数包装和隐藏起来&#xff0c;让外界无法直接使用&#xff0c; * 被封装的成员只能通过某些特定的方式才能访问。 * 实现封装有两个步骤&#xff1a; * 1、将不能暴露的成员隐藏起来&#x…

GetModuleHandle(NULL)获取当前DLL模块基址?

做一项目想在DLL内部代码实现获取本DLL的模块基址&#xff0c;而且不知道本DLL名称 最简单的方法是想到GetModuleHandle(NULL)&#xff0c;是否可以呢? 参看http://blog.csdn.net/guzhou_diaoke/article/details/8826558到的答案是否 自己尝试了一下: DLL代码(testDll): BOOL …

【评分】第三次作业-团队展示

【评分】第三次作业-团队展示 总结 【2017-10-10】更新&#xff1a; 分数映射至 [1,2] 分 【注意】&#xff1a; 为了保护大家隐私&#xff0c;以后发表博客&#xff1a; 涉及到学号时&#xff0c;仅提供后三位涉及到姓名时&#xff0c;仅提供名&#xff08;省略姓&#xff09;…