AcWing 756. 蛇形矩阵 java
原题链接
简单
作者:
发发大王
,
2021-01-16 11:22:18
,
所有人可见
,
阅读 281
Java 代码
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int l = in.nextInt();
int r = in.nextInt();
int left = 0;
int right = r - 1;
int top = 0;
int down = l - 1;
int[][] data = new int[l][r];
int dir = 0;
int num = 1;
while(num != r * l + 1) {
switch (dir){
case 0:
for(int i=left; i<=right; i++) {
data[top][i] = num++;
}
top++;
dir++;
break;
case 1:
for(int i=top; i<=down; i++) {
data[i][right] = num++;
}
right--;
dir++;
break;
case 2:
for(int i=right; i>=left; i--) {
data[down][i] = num++;
}
down--;
dir++;
break;
case 3:
for(int i=down; i>=top; i--) {
data[i][left] = num++;
}
left++;
dir = 0;
break;
}
}
for(int i=0; i<l; i++) {
for(int j=0; j<r; j++) {
if(j != r-1)
System.out.print(data[i][j] + " ");
else
System.out.print(data[i][j]);
}
System.out.println();
}
}
}