【P5731 【深基5.习6】蛇形方阵】【Java】

import java.util.Scanner;
public class Main {
    
    
	static int num=1;
	public static void main(String[]args) {
    
    
		Scanner in=new Scanner(System.in);
		int N=in.nextInt();
		int[][]mat=new int[N][N];
		for(int p=0;p<N;p++,num++) {
    
    
			mat[0][p]=num;
		}
		int i=0,j=N-1,t=N-1;
		while(t>0) {
    
    
			for(int p=0;p<t&&t>0;p++) {
    
    
				mat[++i][j]=num++;
			}
			for(int p=0;p<t;p++) {
    
    
				mat[i][--j]=num++;
			}
			t--;
			for(int p=0;p<t&&t>0;p++) {
    
    
				mat[--i][j]=num++;
			}
			for(int p=0;p<t;p++) {
    
    
				mat[i][++j]=num++;
			}
			t--;
		}
		for(int row=0;row<N;row++) {
    
    
			for(int col=0;col<N;col++) {
    
    
				System.out.printf("%3d",mat[row][col]);
			}
			System.out.println();
		}
	}
}

猜你喜欢

转载自blog.csdn.net/m0_57937908/article/details/120937395