結果
| 問題 |
No.401 数字の渦巻き
|
| コンテスト | |
| ユーザー |
aaaaasatori
|
| 提出日時 | 2018-02-17 13:53:58 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 272 ms / 2,000 ms |
| コード長 | 948 bytes |
| コンパイル時間 | 3,655 ms |
| コンパイル使用メモリ | 79,088 KB |
| 実行使用メモリ | 60,616 KB |
| 最終ジャッジ日時 | 2024-06-24 12:09:45 |
| 合計ジャッジ時間 | 10,342 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 30 |
ソースコード
import java.util.Scanner;
public class No401 {
static Scanner sc = new Scanner(System.in);
static int N = sc.nextInt();
static int masu[][] = new int[N][N];
public static void main(String[] args) {
masu[0][0] = 1;
int x = 0,y = 0;
int houkou = 0; //0:→ 1:↓ 2:← 3:↑
for(int i = 2;i <= N*N;i++) {
switch(houkou) {
case 0:
y++;
if(y == N-1 || masu[x][y+1] != 0) {
houkou = (houkou + 1) % 4;
}
break;
case 1:
x++;
if(x == N-1 || masu[x+1][y] != 0) {
houkou = (houkou + 1) % 4;
}
break;
case 2:
y--;
if(y == 0 || masu[x][y-1] != 0) {
houkou = (houkou + 1) % 4;
}
break;
case 3:
x--;
if(masu[x-1][y] != 0) {
houkou = (houkou + 1) % 4;
}
}
masu[x][y] = i;
}
for(int i = 0;i < N;i++) {
for(int j = 0;j < N;j++) {
System.out.printf(String.format("%03d", masu[i][j]) + " ");
}
System.out.println();
}
}
}
aaaaasatori