https://coderun.yandex.ru/problem/control-accent/description Средняя

Решение

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import java.lang.Character
import java.util.HashSet

fun main(args: Array<String>) {
    val reader = BufferedReader(InputStreamReader(System.`in`))
    val writer = BufferedWriter(OutputStreamWriter(System.out))
    val n = reader.readLine().toInt()
    val stressedDictionary = HashSet<String>()
    val lowercaseDictionary = HashSet<String>()
    repeat(n) {
        val dictWord = reader.readLine()
        stressedDictionary.add(dictWord)
        lowercaseDictionary.add(dictWord.lowercase())
    }
    val petyaText = reader.readLine()
    val petyaWords = petyaText.split(' ')
    var errorCount = 0
    for (petyaWord in petyaWords) {
        if (petyaWord.isEmpty()) continue
        val lowerPetyaWord = petyaWord.lowercase()
        var stressCount = 0
        for (char in petyaWord) {
            if (Character.isUpperCase(char)) {
                stressCount++
            }
        }
        if (lowerPetyaWord in lowercaseDictionary) {
            if (petyaWord !in stressedDictionary) {
                errorCount++
            }
        } else {
            if (stressCount != 1) {
                errorCount++
            }
        }
    }
    writer.write(errorCount.toString())
    reader.close()
    writer.close()
}