結果
問題 |
No.3 ビットすごろく
|
ユーザー |
|
提出日時 | 2015-12-01 09:44:19 |
言語 | Kotlin (2.1.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,822 bytes |
コンパイル時間 | 11,313 ms |
コンパイル使用メモリ | 441,996 KB |
実行使用メモリ | 111,276 KB |
最終ジャッジ日時 | 2024-11-20 06:21:33 |
合計ジャッジ時間 | 27,009 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 WA * 15 TLE * 1 |
コンパイルメッセージ
Main.kt:6:10: warning: parameter 'args' is never used fun main(args: Array<String>) { ^
ソースコード
package Yukicoder /** * Created by hichikawa on 2015/11/12. */ fun main(args: Array<String>) { fun readLineLongArray(): List<Long> { val str = readLine() as String val arrStr = str.split(" ") val ret = arrStr.map { it.toLong() } return ret } fun readLineLong(): Long { val str = readLine() as String return str.toLong() } fun readLineInt(): Int { val str = readLine() as String return str.toInt() } fun readLineIntArray() : List<Int> { val str = readLine() as String val arrStr = str.split(" ") val ret = arrStr.map { it.toInt() } return ret } fun readLineDoubleArray(): List<Double> { val str = readLine() as String val arrStr = str.split(" ") val ret = arrStr.map { it.toDouble() } return ret } fun readLineDouble() : Double { val str = readLine() as String return str.toDouble() } // fun readLineStringArray(): List<String> { // val str = readLine() as String // val arrStr = str.split(" ") // return arrStr // } val goal = readLineInt() var count = 1 var position = 1 var arrFlag = Array(goal, {false}) while (true) { if (position > goal) { println(-1) return } val move = Integer.bitCount(position) if (position + move == goal) { count++ println(count) break } else if (position + move > goal) { position -= move if (arrFlag[position]) { println(-1) return } } else { position += move } arrFlag[position] = true // println(position) count++ } }