1. 程式人生 > >JavaStudy——0082:蛇形填充陣列

JavaStudy——0082:蛇形填充陣列

總時間限制: 1000ms 記憶體限制: 65536kB
描述
用數字1,2,3,4,…,nn這n2個數蛇形填充規模為nn的方陣。
蛇形填充方法為:
對於每一條左下-右上的斜線,從左上到右下依次編號1,2,…,2n-1;按編號從小到大的順序,將數字從小到大填入各條斜線,其中編號為奇數的從左下向右上填寫,編號為偶數的從右上到左下填寫。
比如n=4時,方陣填充為如下形式:
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16

輸入
輸入一個不大於10的正整數n,表示方陣的行數。
輸出
輸出該方陣,相鄰兩個元素之間用單個空格間隔。

樣例輸入

4

樣例輸出

1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16

Accepted程式碼

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int t=1;
        int[][] a=new int[15][15];
        int i=1,j=1;
        int n=in.nextInt();
        while(t<=n*n) {
            while(1!=
0) { if(i<1||j>n) { i++;j--;break; } else { a[i][j]=t;t++;i--;j++; } } if(j==n) i++; else if(i==1) j++; while(1!=0) { if(i>n||j<1) { j++
;i--;break; } else { a[i][j]=t;t++;i++;j--; } } if(i==n) j++; else if(j==1) i++; } for(i=1;i<=n;i++) { for(j=1;j<n;j++) System.out.print(a[i][j]+" "); System.out.println(a[i][n]); } in.close(); } }