結果
問題 |
No.401 数字の渦巻き
|
ユーザー |
![]() |
提出日時 | 2018-11-14 20:31:08 |
言語 | Kotlin (2.1.0) |
結果 |
AC
|
実行時間 | 460 ms / 2,000 ms |
コード長 | 1,590 bytes |
コンパイル時間 | 13,098 ms |
コンパイル使用メモリ | 438,308 KB |
実行使用メモリ | 61,660 KB |
最終ジャッジ日時 | 2024-11-20 17:08:32 |
合計ジャッジ時間 | 22,979 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
コンパイルメッセージ
Main.kt:1:10: warning: parameter 'args' is never used fun main(args: Array<String>) { ^
ソースコード
fun main(args: Array<String>) { val arsz = readLine()!!.toInt() var a = Array(arsz, {arrayOfNulls<Int>(arsz)}) var v = "right" var x = -1 var y = 0 var n = 0 while(n < arsz * arsz){ n += 1 when(v){ "right" ->{ if(x < arsz - 1 && a[y][x + 1] == null){ x += 1 a[y][x] = n } else{ y += 1 v = "down" a[y][x] = n } } "down" ->{ if(y < arsz - 1 && a[y + 1][x] == null){ y += 1 a[y][x] = n } else{ x -= 1 v = "reft" a[y][x] = n } } "reft" ->{ if(x > 0 && a[y][x - 1] == null){ x -= 1 a[y][x] = n } else{ y -= 1 v = "up" a[y][x] = n } } "up" ->{ if(y > 0 && a[y - 1][x] == null){ y -= 1 a[y][x] = n } else{ x += 1 v = "right" a[y][x] = n } } } } for (i in 0 until arsz){ for (j in 0 until arsz){ print("%03d ".format(a[i][j])) } println("") } }