https://coderun.yandex.ru/problem/krosh-and-string/description Средняя

Решение

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter

// Проверка, можно ли удалить все символы из строки
fun canRemoveAll(s: String): Int {
    val stack = mutableListOf<Char>() // Стек для хранения символов
    
    for (c in s) { // Обработка каждого символа строки
        if (stack.isNotEmpty() && stack.last() == c) {
            stack.removeAt(stack.size - 1) // Удаляем пару, если символы совпадают
        } else {
            stack.add(c) // Добавляем символ в стек
        }
    }
    
    return if (stack.isEmpty()) 1 else 0 // 1, если стек пуст (все удалено), иначе 0
}

fun main(args: Array<String>) {
    val reader = BufferedReader(InputStreamReader(System.`in`))
    val writer = BufferedWriter(OutputStreamWriter(System.out))
    
    val n = reader.readLine().toInt() // Чтение длины строки
    val s = reader.readLine() // Чтение самой строки
    
    val result = canRemoveAll(s) // Проверка возможности удаления всех символов
    writer.write(result.toString()) // Вывод результата
    writer.newLine()
    
    reader.close()
    writer.close()
}