fun main() {
val dictionary = mutableMapOf(
"быстрый" to mutableListOf("стремительный", "скорый", "проворный"),
"красивый" to mutableListOf("живописный", "прекрасный", "великолепный"),
"большой" to mutableListOf("огромный", "гигантский", "крупный"),
"умный" to mutableListOf("смышлёный", "мудрый", "толковый"),
"радость" to mutableListOf("веселье", "восторг", "отрада")
)
println("Синонимы для 'быстрый': ${findSynonyms(dictionary, "быстрый")}")
addSynonym(dictionary, "быстрый", "юркий")
addSynonym(dictionary, "тихий", "бесшумный")
println("После добавления:")
println("Синонимы для 'быстрый': ${findSynonyms(dictionary, "быстрый")}")
println("Синонимы для 'тихий': ${findSynonyms(dictionary, "тихий")}")
println("\nВсе слова и синонимы (без дубликатов):")
println(getAllWords(dictionary))
}
fun findSynonyms(dictionary: Map<String, List<String>>, word: String): List<String> {
return dictionary[word] ?: emptyList()
}
fun addSynonym(dictionary: MutableMap<String, MutableList<String>>, word: String, synonym: String) {
val synonyms = dictionary.getOrPut(word) { mutableListOf() }
if (!synonyms.contains(synonym)) {
synonyms.add(synonym)
}
}
fun getAllWords(dictionary: Map<String, List<String>>): List<String> {
return (dictionary.keys + dictionary.values.flatten()).distinct()
}