题目描述
蛇形矩阵
算法1
Java 代码
import java.util.*;
public class Main{
public static void main(String[] args ){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[][] arr= new int[n][m];
int [] dx={0,1,0,-1};
int [] dy={1,0,-1,0};
int k = 1;
int d = 0;
for(int x=0,y=0;k<=n*m;k++){
arr[x][y] = k;
int a = x+dx[d];
int b = y+dy[d];
if(a<0||a>=n ||b<0||b>=m || arr[a][b]!=0){
d = (d+1)%4;
a = x+dx[d];
b = y+dy[d];
}
x = a;
y = b;
}
for(int i = 0;i<n;i++){
for(int j =0;j<m;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}