神奇的幻方(洛谷P2615题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
神奇的幻方(洛谷P2615题题解,Java语言描述)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目要求
P2615題目鏈接
分析
注意題目說的是,幻方的N必定是奇數(shù)(實測確實不能是偶數(shù)),那就不需要檢測了。
實際模擬,就是一個地圖,按指定的要求移動就行。
這種題,看著嚇人,但是其實嚴格按照說編寫代碼就行了,并不需要自己設計什么算法。
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;//肯定是奇數(shù)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());}} }總結(jié)
以上是生活随笔為你收集整理的神奇的幻方(洛谷P2615题题解,Java语言描述)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: createDocumentFragme
- 下一篇: 数据绑定以及Container.Data