結果
問題 | No.401 数字の渦巻き |
ユーザー |
|
提出日時 | 2021-03-01 23:09:04 |
言語 | Scala(Beta) (3.6.2) |
結果 |
AC
|
実行時間 | 1,267 ms / 2,000 ms |
コード長 | 923 bytes |
コンパイル時間 | 12,550 ms |
コンパイル使用メモリ | 271,852 KB |
実行使用メモリ | 91,584 KB |
最終ジャッジ日時 | 2024-10-03 01:08:03 |
合計ジャッジ時間 | 43,436 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
import java.util.Scannerobject Main extends App {val sc = new Scanner(System.in)val n = sc.nextIntvar an = Array.fill(n, n)(0)var x = 0var y = 0var mode = 1for (i <- 1 to n * n) {an(y)(x) = iif (mode == 1) {if (x == n - 1 || (x < n - 1 && an(y)(x + 1) != 0)) {mode = 2y += 1} else {x += 1}} else if (mode == 2) {if (y == n - 1 || (y < n - 1 && an(y + 1)(x) != 0)) {mode = 3x -= 1} else {y += 1}} else if (mode == 3) {if (x == 0 || (x > 0 && an(y)(x - 1) != 0)) {mode = 4y -= 1} else {x -= 1}} else if (mode == 4) {if (y == 0 || (y > 0 && an(y - 1)(x) != 0)) {mode = 1x += 1} else {y -= 1}}}println(an.map(a => a.map(b => "%03d".format(b)).mkString(" ")).mkString("\n"))}