結果
| 問題 |
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++
}
}