九宫幻方
D: 今天做一道题目 九宫幻方

小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分。
三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。
三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀: “二四为肩,六八为足,左三右七,戴九履一,五居其中”, 通过这样的一句口诀就能够非常完美的构造出一个九宫格来。
4 9 2
3 5 7
8 1 6

有意思的是,所有的三阶幻方,都可以通过这样一个九宫格进行若干镜像和旋转操作之后得到。 现在小明准备将一个三阶幻(不一定是上图中的那个)中的一些数抹掉,交给邻居家的小朋友来进行还原,并且希望她能够判断出究竟是不是只有一个解。
而你呢,也被小明交付了同样的任务,但是不同的是,你需要写一个程序~

输入格式:
输入仅包含单组测试数据。 每组测试数据为一个3*3的矩阵,其中为0的部分表示被小明抹去的部分。 对于100%的数据,满足给出的矩阵至少能还原出一组可行的三阶幻方。
输出格式:
如果仅能还原出一组可行的三阶幻方,则将其输出,否则输出“Too Many”(不包含引号)。

样例输入
0 7 2
0 5 0
0 3 0

样例输出
6 7 2
1 5 9
8 3 4

本题思路为列出所有的九宫幻方,将输入的数字与其一 一比较,用字符串来储存幻方。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Z: 这道题题意大概是,通过上方的幻方本体,可以变化成所有不同的幻方。而我们要做的就是将被抹掉的数字还原。如果还原情况有多种,则返回Too Many

M: 这题没有什么太好的思路,求解!

import java.util.Scanner;public class jiugonghuanfang {static int [] num = new int [10];public static int count=0;static boolean [] bool = new boolean [10];static boolean [] bo = new boolean [10];public static void main(String[] args) {Scanner sc =new Scanner(System.in);for (int i = 1; i < num.length; i++) {num[i]=sc.nextInt();bo[num[i]]=true;}f(1);//   System.out.println(count);}public static void f(int step){if(step==10){int a = num[3]+num[1]+num[2];int b = num[6]+num[4]+num[5];int c = num[7]+num[8]+num[9];int d = num[4]+num[1]+num[7];int e = num[8]+num[5]+num[2];int f = num[3]+num[6]+num[9];int g = num[5]+num[1]+num[9];int h = num[3]+num[5]+num[7];if(a!=b ||a!=c ||a!=d ||a!=e ||a!=f ||a!=g ||a!=h ){return;}else{System.out.println(num[1]+" "+num[2]+" "+num[3]);System.out.println(num[4]+" "+num[5]+" "+num[6]);System.out.println(num[7]+" "+num[8]+" "+num[9]);System.out.println();}//        int i = num[0]+num[1]+num[2];count++;return;}if(num[step]!=0){f(step+1);return;}for (int i = 1; i <10; i++) {if(!bool[i] && !bo[i] && num[step]==0){bool[i]=true;num[step]=i;f(step+1);num[step]=0;bool[i]=false;}}}
}

Java实现蓝桥杯 九宫幻方相关推荐

  1. java 蓝桥杯 九宫幻方 ---ERIC-0222

    资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每 ...

  2. 蓝桥杯陶陶摘苹果C语言,Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2

    算法提高 陶陶摘苹果2 时间限制:1.0s 内存限制:256.0MB 问题描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出n个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳, ...

  3. 蓝桥杯试题 基础练习 BASIC-11 十六进制转十进制 JAVA——冲刺蓝桥杯第六天

    目录 前言 试题 基础练习 十六进制转十进制 要点 思路一:常规做法--进制转换 字符 循环 本题代码 思路二:简单做法,使用java自带的方法 本题代码 前言 进制转化包括这篇我写了三篇了,这篇没讲 ...

  4. 蓝桥杯日期计算java_日期类的使用(java)-蓝桥杯

    蓝桥杯日期问题常考,java提供了日期类很方便: //日历类 Calendar c = Calendar.getInstance(); // 获取实例化对象 Date date =c.getTime( ...

  5. java:蓝桥杯练习 分解质因数

    [蓝桥杯][基础练习VIP]分解质因数 时间限制: 1Sec 内存限制: 128MB 提交: 2802 解决: 1688 题目描述 求出区间[a,b]中所有整数的质因数分解. 提示 先筛出所有素数,然 ...

  6. 标题 日期问题java蓝桥杯,日期类的使用(java)-蓝桥杯

    蓝桥杯日期问题常考,java提供了日期类很方便: //日历类 Calendar c = Calendar.getInstance(); // 获取实例化对象 Date date =c.getTime( ...

  7. Java实现 蓝桥杯VIP 基础练习 分解质因数

    题目介绍 问题描述 求出区间[a,b]中所有整数的质因数分解. 输入格式 输入两个整数a,b. 输出格式 每行输出一个数的分解,形如k=a1a2a3-(a1<=a2<=a3-,k也是从小到 ...

  8. Java实现蓝桥杯 算法训练 ALGO-15 旅行家的预算

    问题描述 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的).给定两个城市之间的距离D1.汽车油箱的容量C(以升为单位).每升汽油能行驶的距离D2.出发点每升汽油价格P和沿 ...

  9. Java实现 蓝桥杯VIP 算法训练 JAM计数法

    题目描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小 写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文 ...

  10. 算法训练,逗志芃的暴走(Java代码)-蓝桥杯/leetcode

    蓝桥杯试题 算法训练 逗志芃的暴走(Java代码) 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 逗志芃是有妹子的现充,但是有时候妹子就是烦恼.因为逗志芃太逗了,所以这段时间妹子对 ...

最新文章

  1. 【电信增值业务学习笔记】10基于业务节点的增值业务提供技术
  2. linux raid1 分区表,在 Linux 下使用 RAID(三):用两块磁盘创建 RAID 1(镜像)
  3. 两岁的微信小程序,创造超 5000 亿的价值
  4. Potentiometers
  5. centos7 里面dump_centos7使用lldb调试netcore应用转储dump文件
  6. 在windows下使用cmd命令全速下载百度云文件
  7. linux vga 分辨率低,通过 VGA 接口连接显示器时分辨率不正确
  8. 串口助手使用16进制发送数据
  9. 设计和实现一款轻量级的爬虫框架
  10. HDFS_数据加密空间
  11. 如何实现用手机远程控制电脑?
  12. Oracle中的分析函数over()的详细解析
  13. self paced learning(自步学习)
  14. 小议关键字del与实例方法__del__(self)
  15. MinMax极小极大算法 (The Minimax Algorithm)
  16. 禁止公司内网电脑安装QQ电脑管家和360安全卫士
  17. 隐语v0.8.2版本更新,首次发布TEEU
  18. 毕业四年的职场经历自述
  19. luogu P5685 [JSOI2013]快乐的 JYY(PAM,dfs,每种回文出现次数)
  20. 高德地图基础控件使用 搜索定位等

热门文章

  1. Diligent新聘全球合作伙伴关系高级副总裁
  2. matlab设计误码率,通信原理课程设计报告 数字传输系统误码率测试器的matlab实现及性能分析...
  3. Moment.js简单使用
  4. 普乐蛙4d5d动感影院|VR太空旅行设备|VR带你遨游太空
  5. 华大单片机-HC32L13X系列芯片OPA配置-芯虎论坛
  6. android实现支付功能,Android支付宝支付开发实例
  7. Python简易图片批量压缩程序
  8. 【React】React Fiber
  9. 海致大数据京信_2018华为全联接大会|海致网聚提出公安大数据个人计算新理念...
  10. C# winform cefsharp 截取网页元素图片