题目要求

P2615题目链接

分析

注意题目说的是,幻方的N必定是奇数(实测确实不能是偶数),那就不需要检测了。

实际模拟,就是一个地图,按指定的要求移动就行。
这种题,看着吓人,但是其实严格按照说编写代码就行了,并不需要自己设计什么算法。

AC代码(Java语言描述)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = scanner.nextInt();scanner.close();int[][] array = new int[num][num];int last_x = 0, last_y = num/2;//肯定是奇数array[0][last_y] = 1;for (int i = 2; i <= num*num; i++) {if (last_x == 0 && last_y != num-1) {last_x = num-1;++last_y;} else if (last_x != 0 && last_y == num-1) {--last_x;last_y = 0;} else if (last_x == 0 && last_y == num-1) {++last_x;} else if (array[last_x-1][last_y+1] == 0) {--last_x;++last_y;} else {++last_x;}array[last_x][last_y] = i;}StringBuilder result;for (int i = 0; i < num; i++) {result = new StringBuilder();for (int j = 0; j < num; j++) {result.append(array[i][j]).append(" ");}System.out.println(result.toString().trim());}}
}

神奇的幻方(洛谷P2615题题解,Java语言描述)相关推荐

  1. AC日记——神奇的幻方 洛谷 P2615(大模拟)

    题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,--,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...

  2. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  3. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  4. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  5. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

  6. 贪心策略摘果子(洛谷P1478题题解,Java语言描述)

    题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...

  7. 麦森数(洛谷P1045题题解,Java语言描述)

    题目要求 题目链接 分析 这题挺经典的,快速幂取模算法,如果求出大数再取模就可能T掉. 之前有篇文章写了这个算法:<快速幂算法详解&&快速幂取模算法详解> 既然是Java, ...

  8. 求子集元素之和(洛谷P2415题题解,Java语言描述)

    题目要求 P2415题目链接 分析 这题我觉得--当个数学题做就好了嘛. 有一个数N的情况:result = 1 * N 有两个数N1.N2的情况:result = 2 * (N1+N2) 有三个数N ...

  9. N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)

    题目要求 P1015题目链接 分析 开始的时候写了这么一个代码,应该是比较基础的,是十进制的. private static void low() {Scanner scanner = new Sca ...

最新文章

  1. 网站内链如何布局才能使蜘蛛更喜欢?
  2. 第六周实践作业:软件测试和评估
  3. 局域网无法访问本地apache
  4. SQL Server 2008 批量插入数据时报错
  5. 汇编原理实验 --查找子字符串的位置
  6. boost::assertion_failed_msg相关的测试程序
  7. python函数图像平移_[Python图像处理]六.图像缩放,图像旋转,图像翻转与图像平移...
  8. 【Elasticsearch】请在64位平台上使用Lucene的MMapDirectory
  9. c语言学习-有一12个元素的整型数组b,从键盘输入数据,请以每行4个数据各个数据之间空两格的形式输出b数组的12个元素
  10. HDU2022 海选女主角【入门】
  11. 关于MATLAB实现的数字信号处理(四)
  12. 《纽约邮报》手机客户端推送系统被黑 黑客发送抒情诗
  13. JavaScript:字符串相关操作
  14. javascript 基础之手机端相关事件-touch(详细篇)(1)
  15. Android源码下载编译(TI)
  16. iOS 一种连线题效果的实现
  17. 硬盘格式转换:MBR转换到GPT怎么转?
  18. java jar apktool,apktool.jar
  19. c语言二维数组a中,a,a[0],a[0][0]的值与值的类型
  20. Atcoder TOYOTA SYSTEMS Programming Contest 2021(AtCoder Beginner Contest 228) B - Takahashi‘s Secret

热门文章

  1. Fiddler中session的请求/响应类型与图标对照表
  2. Unity手游之路十自动寻路Navmesh之跳跃,攀爬,斜坡
  3. HDU 1108 最小公倍数
  4. NET Framework 安装时出现错误无法安装
  5. 2018上半年软件设计师上午题参考答案
  6. jQuery教程03-jQuery 元素、id、.class和*全选择器
  7. extjs展示列表,显示来很多空白行,但是数据没显示
  8. mapper 判断条件为null
  9. 特殊表情存数据库处理
  10. mysql不兼容_mysql5.7 不兼容问题