結果
| 問題 |
No.19 ステージの選択
|
| ユーザー |
バカらっく
|
| 提出日時 | 2019-09-01 15:10:22 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,238 bytes |
| コンパイル時間 | 14,241 ms |
| コンパイル使用メモリ | 441,932 KB |
| 実行使用メモリ | 52,300 KB |
| 最終ジャッジ日時 | 2024-11-28 02:08:06 |
| 合計ジャッジ時間 | 23,142 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 13 WA * 11 |
コンパイルメッセージ
Main.kt:2:10: warning: parameter 'args' is never used
fun main(args: Array<String>) {
^
Main.kt:21:51: warning: unnecessary non-null assertion (!!) on a non-null receiver of type Map.Entry<Int, TreeNode>
val cur = sublist.minBy { it.value.value }!!.value
^
ソースコード
fun main(args: Array<String>) {
val stageCount = readLine()!!.toInt()
(1..stageCount).forEach {
stageList[it] = TreeNode(it)
}
(1..stageCount).forEach {
val (l, s) = readLine()!!.split(" ").map { it.toInt() }
stageList[it]!!.value = l * 10
if(it != s) {
stageList[it]!!.parent = stageList[s]!!
stageList[s]!!.items.add(stageList[it]!!)
}
}
var ans = 0
(1..stageCount).forEach {
var sublist = stageList.filter { it.value.parent == null && !it.value.clearFlag }
if(sublist.isEmpty()) {
sublist = stageList.filter { !it.value.clearFlag }
}
val cur = sublist.minBy { it.value.value }!!.value
ans += cur.value
cur.clearFlag = true
cur.parent?.let {
it.items.remove(cur)
}
cur.parent = null
cur.items.forEach{
it.value = it.value / 2
it.parent = null
}
cur.items.clear()
}
println(ans.toDouble()/10)
}
val stageList = mutableMapOf<Int, TreeNode>()
class TreeNode(val id:Int) {
var parent:TreeNode? = null
var clearFlag = false
var items = mutableListOf<TreeNode>()
var value = 0
}
バカらっく