SWEA_D2_1954
π [D2_1954] λ¬ν½μ΄ μ«μ
import java.util.Scanner;
public class Solution {
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int tc = 1; tc <= T; tc++) {
// μ
λ ₯
int N = sc.nextInt();
// μλ₯Ό μ μ₯ν λ°°μ΄
int[][] arr = new int[N][N];
// μ
int num = 1;
// μ
λ ₯μ΄ 1μΈ κ²½μ° -> '1' μΆλ ₯
if(N == 1) {
arr[N-1][N-1] = 1;
}
// Nμ΄ μ§μμΈ κ²½μ°
if (N / 2 == 0) {
for (int j = 0; j < N / 2; j++) {
// μμ κ°λ‘
for (int i = j; i < N - (j + 1); i++) {
arr[j][i] = num;
num++;
}
// μ€λ₯Έμͺ½ μΈλ‘
for (int i = j; i < N - (j + 1); i++) {
arr[i][N - (j + 1)] = num;
num++;
}
// λ°μ κ°λ‘
for (int i = N - (j + 1); i > j; i--) {
arr[N - (j + 1)][i] = num;
num++;
}
// μΌμͺ½ μΈλ‘
for (int i = N - (j + 1); i > j; i--) {
arr[i][j] = num;
num++;
}
}
}
// Nμ΄ νμμΈ κ²½μ°
else {
for (int j = 0; j < N / 2; j++) {
// μμ κ°λ‘
for (int i = j; i < N - (j + 1); i++) {
arr[j][i] = num;
num++;
}
// μ€λ₯Έμͺ½ μΈλ‘
for (int i = j; i < N - (j + 1); i++) {
arr[i][N - (j + 1)] = num;
num++;
}
// λ°μ κ°λ‘
for (int i = N - (j + 1); i > j; i--) {
arr[N - (j + 1)][i] = num;
num++;
}
// μΌμͺ½ μΈλ‘
for (int i = N - (j + 1); i > j; i--) {
arr[i][j] = num;
num++;
}
// λ§μ§λ§ μ€μκ°
if (arr[N / 2][N / 2] == 0) {
arr[N / 2][N / 2] = N * N;
}
}
}
// μΆλ ₯
System.out.println("#"+ tc);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
}
π€ λμ μκ°
μ¬κ°νμ ν λ³μ© λλμ΄ κ³μ°ν΄ μ£Όμλ€.
Nμ΄ μ§μμΌ κ²½μ°, νμμΌ κ²½μ° λλμ΄μ λ°λ³΅λ¬Έμ μ¬μ©νμλλ°,
λκ° μ¬κ· ν¨μλ₯Ό ν΅ν΄μλ ν μ μμ κ² κ°λ€.
κ·Έλ¦¬κ³ Nμ΄ 1μΈ κ²½μ°λ₯Ό μ²μμ λμΉκ³ νλ¦°κ² μ’ μμ½λ€.