complete 33093.kt
This commit is contained in:
56
zeta_kotlin/completed/33093.kt
Normal file
56
zeta_kotlin/completed/33093.kt
Normal file
@@ -0,0 +1,56 @@
|
||||
import java.io.*
|
||||
|
||||
class GoldenTicketSolver(
|
||||
val n: Int,
|
||||
val m: Int,
|
||||
val k: Int,
|
||||
val teams: List<Pair<String, String>>
|
||||
) {
|
||||
|
||||
fun solve(): List<String> {
|
||||
val goldenticked = mutableListOf<String>()
|
||||
val inst_goldenticked = mutableMapOf<String, Int>()
|
||||
var kcnt = 0
|
||||
for ((index, teaminst) in this.teams.withIndex()) {
|
||||
if (index < this.m) {
|
||||
inst_goldenticked[teaminst.second] = 1
|
||||
} else {
|
||||
if (kcnt >= this.k) {
|
||||
break
|
||||
}
|
||||
val tmp = inst_goldenticked.getOrDefault(teaminst.second, 0)
|
||||
if (tmp == 0) {
|
||||
inst_goldenticked[teaminst.second] = 2
|
||||
goldenticked.add(teaminst.first)
|
||||
kcnt += 1
|
||||
} else if (tmp == 1) {
|
||||
continue
|
||||
} else if (tmp == 2) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
return goldenticked
|
||||
}
|
||||
}
|
||||
|
||||
fun main() {
|
||||
val tknz = StreamTokenizer(System.`in`.bufferedReader())
|
||||
|
||||
fun StreamTokenizer.nextInt(): Int {
|
||||
nextToken()
|
||||
return nval.toInt()
|
||||
}
|
||||
fun StreamTokenizer.nextString(): String {
|
||||
nextToken()
|
||||
return sval
|
||||
}
|
||||
|
||||
val (n, m, k) = (1..3).map { tknz.nextInt() }
|
||||
val tms = (1..n).map { Pair(tknz.nextString(), tknz.nextString()) }
|
||||
val solver = GoldenTicketSolver(n, m, k, tms)
|
||||
|
||||
val solved = solver.solve()
|
||||
println(solved.size)
|
||||
solved.forEach { i -> println(i) }
|
||||
}
|
||||
Reference in New Issue
Block a user