結果

問題 No.113 宝探し
コンテスト
ユーザー yo-kondo
提出日時 2018-03-25 19:20:59
言語 Kotlin
(2.3.20)
コンパイル:
kotlinc _filename_ -include-runtime -d main.jar
実行:
kotlin main.jar
結果
AC  
実行時間 230 ms / 5,000 ms
コード長 754 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 12,619 ms
コンパイル使用メモリ 436,704 KB
実行使用メモリ 53,272 KB
最終ジャッジ日時 2026-05-12 03:15:07
合計ジャッジ時間 18,429 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

package yukicoder.no113

import kotlin.math.pow
import kotlin.math.sqrt

/**
 * エントリポイント
 */
fun main(args: Array<String>) {
    val in1 = readLine()
    print(treasureHunt(in1))
}

/**
 * 宝までの最短距離を返します。
 * @param news 方角
 */
fun treasureHunt(news: String?): String {
    if (news == null) {
        return ""
    }

    // [0]:NS, [1]:EW
    val dir = arrayOf(0, 0)
    for (n in news) {
        when (n) {
            'N' -> dir[0]++
            'S' -> dir[0]--
            'E' -> dir[1]++
            'W' -> dir[1]--
        }
    }
    // 南東(NE)
    val ne = dir[0].toDouble().pow(2)
    // 北西(SW)
    val sw = dir[1].toDouble().pow(2)
    return String.format("%.5f", sqrt(ne + sw))
}
0