結果

問題 No.401 数字の渦巻き
ユーザー htensaihtensai
提出日時 2019-11-20 08:37:55
言語 Java21
(openjdk 21)
結果
AC  
実行時間 178 ms / 2,000 ms
コード長 1,707 bytes
コンパイル時間 1,853 ms
コンパイル使用メモリ 79,124 KB
実行使用メモリ 57,188 KB
最終ジャッジ日時 2024-10-05 13:32:57
合計ジャッジ時間 7,166 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 119 ms
54,036 KB
testcase_01 AC 115 ms
54,056 KB
testcase_02 AC 113 ms
53,852 KB
testcase_03 AC 115 ms
53,920 KB
testcase_04 AC 119 ms
53,944 KB
testcase_05 AC 102 ms
52,556 KB
testcase_06 AC 125 ms
53,000 KB
testcase_07 AC 126 ms
53,912 KB
testcase_08 AC 122 ms
53,836 KB
testcase_09 AC 121 ms
54,516 KB
testcase_10 AC 132 ms
54,020 KB
testcase_11 AC 142 ms
54,232 KB
testcase_12 AC 132 ms
53,764 KB
testcase_13 AC 134 ms
54,084 KB
testcase_14 AC 135 ms
53,792 KB
testcase_15 AC 140 ms
53,824 KB
testcase_16 AC 135 ms
54,224 KB
testcase_17 AC 136 ms
54,364 KB
testcase_18 AC 135 ms
53,940 KB
testcase_19 AC 145 ms
54,380 KB
testcase_20 AC 148 ms
54,196 KB
testcase_21 AC 156 ms
54,152 KB
testcase_22 AC 160 ms
54,388 KB
testcase_23 AC 152 ms
54,468 KB
testcase_24 AC 158 ms
53,908 KB
testcase_25 AC 159 ms
54,228 KB
testcase_26 AC 165 ms
54,488 KB
testcase_27 AC 162 ms
54,160 KB
testcase_28 AC 160 ms
54,408 KB
testcase_29 AC 178 ms
57,188 KB
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

import java.util.*;
public class Main {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] field = new int[n + 2][n + 2];
for (int i = 0; i < n + 2; i++) {
Arrays.fill(field[i], Integer.MAX_VALUE);
if (i == 0 || i == n + 1) {
continue;
}
for (int j = 1; j <= n; j++) {
field[i][j] = 0;
}
}
boolean isVertical = false;
boolean isUp = true;
int idx = 1;
int h = 1;
int w = 1;
while (idx <= n * n) {
field[h][w] = idx;
idx++;
int nextH;
int nextW;
if (isVertical) {
if (isUp) {
nextH = h + 1;
} else {
nextH = h - 1;
}
nextW = w;
} else {
if (isUp) {
nextW = w + 1;
} else {
nextW = w - 1;
}
nextH = h;
}
if (field[nextH][nextW] == 0) {
h = nextH;
w = nextW;
continue;
}
if (isVertical) {
isVertical = false;
isUp = !isUp;
} else {
isVertical = true;
}
if (isVertical) {
if (isUp) {
h = h + 1;
} else {
h = h - 1;
}
} else {
if (isUp) {
w = w + 1;
} else {
w = w - 1;
}
}
}
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (j != 1) {
sb.append(" ");
}
sb.append(String.format("%03d", field[i][j]));
}
sb.append("\n");
}
System.out.print(sb);
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0