Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main(args: Array<String>) {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val n = reader.readLine().toInt()
val baseQuery = "a".repeat(n)
writer.write(baseQuery)
writer.newLine()
writer.flush()
val baseLine = reader.readLine() ?: ""
if (baseLine.isEmpty()) return
val baseAnswer = baseLine.toInt()
if (baseAnswer == 0) {
return
}
val result = CharArray(n) { 'a' }
for (i in 0 until n) {
val queryBuilder = StringBuilder(baseQuery)
queryBuilder.setCharAt(i, 'z')
val query = queryBuilder.toString()
writer.write(query)
writer.newLine()
writer.flush()
val ansLine = reader.readLine() ?: ""
if (ansLine.isEmpty()) return
val ans = ansLine.toInt()
if (ans == 0) {
return
}
val delta = ans - baseAnswer
val d = (25 - delta) / 2
result[i] = ('a'.toInt() + d).toChar()
}
val password = String(result)
writer.write(password)
writer.newLine()
writer.flush()
return
}