https://coderun.yandex.ru/problem/unique-users/description?compiler=kotlin Средняя

Решение

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

// Функция для нормализации email-адреса по заданным правилам
fun normalizeEmail(email: String): String {
    val (login, domain) = email.split("@")
    val normalizedLogin = login.takeWhile { it != '-' }.replace(".", "")
    val domainParts = domain.split(".")
    val baseDomain = domainParts.dropLast(1).joinToString(".")
    return "$normalizedLogin@$baseDomain"
}

// Функция для подсчета уникальных пользователей
fun countUniqueUsers(n: Int, emails: List<String>): Int {
    val uniqueUsers = mutableSetOf<String>()
    for (email in emails) {
        uniqueUsers.add(normalizeEmail(email))
    }
    return uniqueUsers.size
}

fun main() {
    val reader = BufferedReader(InputStreamReader(System.`in`))
    val writer = BufferedWriter(OutputStreamWriter(System.out))
    
    val n = reader.readLine().toInt() // Читаем количество email-адресов
    val emails = List(n) { reader.readLine() } // Читаем email-адреса
    
    val uniqueCount = countUniqueUsers(n, emails) // Подсчитываем количество уникальных пользователей
    writer.write(uniqueCount.toString())
    writer.newLine()
    writer.flush()
    reader.close()
    writer.close()
}