結果
| 問題 |
No.5017 Tool-assisted Shooting
|
| ユーザー |
エセ賢者
|
| 提出日時 | 2023-07-16 16:02:45 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 2,125 bytes |
| コンパイル時間 | 13,493 ms |
| コンパイル使用メモリ | 426,580 KB |
| 実行使用メモリ | 71,416 KB |
| スコア | 68,647 |
| 平均クエリ数 | 6.18 |
| 最終ジャッジ日時 | 2023-07-16 16:03:40 |
| 合計ジャッジ時間 | 49,403 ms |
|
ジャッジサーバーID (参考情報) |
judge13 / judge12 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 2 RE * 98 |
コンパイルメッセージ
Main.kt:10:10: warning: parameter 'args' is never used
fun main(args: Array<String>) {
^
Main.kt:36:17: warning: condition 'near == null' is always 'false'
if (near == null) {
^
ソースコード
private fun next() = readLine()!!
private fun nextInt() = next().toInt()
private fun nextLong() = next().toLong()
private fun nextDouble() = next().toDouble()
private fun nextList() = next().split(" ")
private fun nextIntList() = next().split(" ").map { it.toInt() }.toIntArray()
private fun nextLongList() = next().split(" ").map { it.toLong() }.toLongArray()
private fun nextDoubleList() = next().split(" ").map { it.toDouble() }.toDoubleArray()
fun main(args: Array<String>) {
var turn = 0
var enemyList = mutableListOf<Enemy>()
var own = 12
var power = 100
while (turn < 1000) {
val n = nextInt()
if (n == -1) {
return
}
val newEnemyList = mutableListOf<Enemy>()
for (enemy in enemyList) {
val isAlive = enemy.nextTurn()
if (isAlive) {
newEnemyList.add(enemy)
}
}
enemyList = newEnemyList
for (i in 0 until n) {
val hpx = nextIntList()
enemyList.add(Enemy(hpx[2], 59, hpx[0], hpx[1]))
}
if (enemyList.isEmpty()) {
println("S")
} else {
val near = enemyList.filter { it.x == own }.minBy { it.y }
if (near == null) {
if (Math.random() < 0.5) {
println("R")
own++
} else {
println("L")
own--
}
} else {
if (near.h > near.y * (power / 100)) {
if (Math.random() < 0.5) {
println("R")
own++
} else {
println("L")
own--
}
} else {
println("S")
}
}
}
turn++
}
}
class Enemy(var x: Int, var y: Int, var h: Int, var p: Int) {
val maxH = h
fun nextTurn(): Boolean {
y--
return y >= 0
}
fun hit(damage: Int): Boolean {
h -= damage
return h >= 0
}
}
エセ賢者