AcWing 756. 蛇形矩阵 JAVA
原题链接
简单
作者:
天乔巴夏丶
,
2021-01-13 00:33:28
,
所有人可见
,
阅读 361
import java.util.*;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[][] f = new int[n][m];
int[] dx = {0, 1, 0, - 1}, dy = {1, 0, -1, 0};
int d = 0, x = 0, y = 0, k = 1;
while(k <= m * n){
int a = x + dx[d];
int b = y + dy[d];
if(a >= n || b >= m || a < 0 || b < 0 || f[a][b] != 0) d = (d + 1) % 4;
f[x][y] = k;
x += dx[d];
y += dy[d];
k ++;
}
for(int[] nums : f){
for(int num : nums){
System.out.print(num + " ");
}
System.out.println();
}
}
}