时间限制: 3000 ms | 内存限制: 65535 KB
难度: 3
- 描述
- 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4
- 输入
- 直接输入方陈的维数,即n的值。(n<=100) 输出
- 输出结果是蛇形方陈。 样例输入
-
3
样例输出 -
7 8 16 9 25 4 3
算法:import java.util.Scanner;public class Main { public static void main(String[] args) { // 获取输入 Scanner input=new Scanner(System.in); int N=input.nextInt(); //定义四个方向,分别为 右、下、左、上 int[][] direction={ {0,1},{1,0},{0,-1},{-1,0}}; //定义一个矩阵,用于存储 int[][] matrix=new int[N][N]; //x,y分别代表了矩阵中的行和列 int x=0,y=N-1; //d用于转换方向,一共四个方向, 0,1,2,3代表四个方向, 0代表向右 :x,y{0,1} 1代表向下:x,y{1,0} 2代表向左 :x,y{0,-1} 3代表向上:x,y{-1,0} int d=1; for(int i=0; i
=0 x =0 y =0 && x =0 && y