結果
| 問題 |
No.48 ロボットの操縦
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-03-24 21:00:30 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,155 bytes |
| コンパイル時間 | 11,972 ms |
| コンパイル使用メモリ | 436,120 KB |
| 実行使用メモリ | 54,532 KB |
| 最終ジャッジ日時 | 2024-11-20 14:40:51 |
| 合計ジャッジ時間 | 18,707 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 19 WA * 6 |
コンパイルメッセージ
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 += 2
num += ceil(abs(ns / md)).toInt()
} else if (ns > 0) {
num += ceil(abs(ns / md)).toInt()
}
// 東西
if (ew != 0.0) {
num++
num += ceil(abs(ew / md)).toInt()
}
return num.toString()
}