結果
| 問題 |
No.401 数字の渦巻き
|
| コンテスト | |
| ユーザー |
YamaKasa
|
| 提出日時 | 2019-02-03 19:09:34 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 255 ms / 2,000 ms |
| コード長 | 1,515 bytes |
| コンパイル時間 | 2,371 ms |
| コンパイル使用メモリ | 79,588 KB |
| 実行使用メモリ | 60,440 KB |
| 最終ジャッジ日時 | 2024-12-18 00:50:50 |
| 合計ジャッジ時間 | 9,035 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 30 |
ソースコード
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
String[][] s = new String[n][n];
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
s[i][j] = "";
}
}
int x = 0;
int y = 0;
int k = 2;
int t = 0;
s[y][x] = String.format("%03d", 1);
int cnt = 0;
while(k <= n * n) {
// cnt++;
// System.out.println(y + " " + x);
// System.out.println(t);
if(t == 0) {
if(x + 1 < n) {
if(s[y][x + 1].equals("")) {
s[y][x + 1] = String.format("%03d", k);
k++;
x++;
}else {
t = 1;
}
}else {
t = 1;
}
}else if(t == 1) {
if(y + 1 < n) {
if(s[y + 1][x].equals("")) {
s[y + 1][x] = String.format("%03d", k);
k++;
y++;
}else {
t = 2;
}
}else {
t = 2;
}
}else if(t == 2) {
if(x - 1 >= 0) {
if(s[y][x - 1].equals("")) {
s[y][x - 1] = String.format("%03d", k);
k++;
x--;
}else {
t = 3;
}
}else {
t = 3;
}
}else if(t == 3) {
if(y - 1 >= 0) {
if(s[y - 1][x].equals("")) {
s[y - 1][x] = String.format("%03d", k);
k++;
y--;
}else {
t = 0;
}
}else {
t = 0;
}
}
}
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
if(j == n - 1) {
System.out.println(s[i][j]);
}else {
System.out.print(s[i][j] +" ");
}
}
}
}
}
YamaKasa