結果
問題 |
No.48 ロボットの操縦
|
ユーザー |
|
提出日時 | 2018-03-24 21:06:32 |
言語 | Kotlin (2.1.0) |
結果 |
AC
|
実行時間 | 287 ms / 5,000 ms |
コード長 | 1,278 bytes |
コンパイル時間 | 10,849 ms |
コンパイル使用メモリ | 429,448 KB |
実行使用メモリ | 54,416 KB |
最終ジャッジ日時 | 2024-11-20 14:41:26 |
合計ジャッジ時間 | 18,840 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 25 |
コンパイルメッセージ
Main.kt:10:10: warning: parameter 'args' is never used fun main(args: Array<String>) { ^
ソースコード
package yukicoder.no48 import kotlin.math.abs import kotlin.math.ceil /** * エントリポイント * @param args コマンドライン引数 */ fun main(args: Array<String>) { val in1 = readLine() val in2 = readLine() val in3 = readLine() println(moveRobot(in1, in2, in3)) } /** * 目的地まで何命令で到達できるかを返します。 * @param eastWest 目的地の東西方向 * @param northSouth 目的地の南北方向 * @param maxDistance ロボットが1命令につき前進することができる最大の距離 */ fun moveRobot(eastWest: String?, northSouth: String?, maxDistance: String?): String { if (eastWest == null || northSouth == null || maxDistance == null) { return "" } var num = 0 val ew = eastWest.toDouble() val ns = northSouth.toDouble() val md = maxDistance.toInt() // 北 if (ns > 0) { num += ceil(abs(ns / md)).toInt() } // 東西 if (ew != 0.0) { num++ num += ceil(abs(ew / md)).toInt() } // 北から南へ向く場合、いったん東西へ向く if (ew == 0.0 && ns < 0) { num++ } // 南 if (ns < 0) { num++ num += ceil(abs(ns / md)).toInt() } return num.toString() }